powershell - Jenkins Powershell 写入控制台
问题描述
我有一个调用 powershell 文件的詹金斯工作。当我从自由式项目中使用它时,它会在控制台输出中显示 powershell 执行。将其切换到管道作业后,我不再看到输出。
目前我的管道如下所示:
pipeline
{
stages
{
stage ('Deploy To Dev')
{
steps
{
powershell '"%WORKSPACE%\\SpearsLoad\\Scripts\\CIDeployToDev.Ps1"'
}
}
}
}
但我没有记录 powershell 步骤。
按照文档,我尝试将阶段更改为:
pipeline
{
stages
{
stage ('Deploy To Dev')
{
steps
{
node('Deploy the SSIS load')
{
//Deploy the SSIS load
def msg = powershell(returnStdout: true, script: '"%WORKSPACE%\\SpearsLoad\\Scripts\\CIDeployToDev.Ps1"')
println msg
}
}
}
}
}
但这给出了:
预计在第 123 行第 6 列有一个步骤。 def msg = powershell(returnStdout: true, script: '"%WORKSPACE%\SpearsLoad\Scripts\CIDeployToDev.Ps1"')
我觉得我错过了一些非常基本的东西。我究竟做错了什么 ?
解决方案
您需要将管道执行包装到script
部分中,因为您正在尝试在声明性管道中使用脚本语法:
script {
//Deploy the SSIS load
def msg = powershell(returnStdout: true, script: '"%WORKSPACE%\\SpearsLoad\\Scripts\\CIDeployToDev.Ps1"')
println msg
}
推荐阅读
- ieee-754 - 非零浮点数的乘法可以产生完全为零吗?
- javascript - 带有淡入淡出动画的滑动动画以移动下一个表单
- ios - 如何在带有填充的 UIStackView 内为 UIImage 提供显式大小?
- batch-file - 批处理 - 在变量中使用变量
- javascript - 为什么在 window.addEventListener('DOMContentLoaded', myfunction(){...}) 之后不显示按钮的实际长度?
- tomcat - 在tomcat 9中覆盖maxWait
- kofax - 如何使用 API (SDK) 获取文档字段?
- python - 使用 OpenCV 和 Python 在视频上应用热图
- azure-logic-apps - 逻辑应用顺序运行卡住“等待”
- php - 根据特定产品属性值显示 WooCommerce 相关产品