jpy*_*ams 7 jenkins jenkins-pipeline
我如何$BUILD_LOG在 Jenkins 管道中访问,或者是否有更好的方法来获取日志输出?
从这个答案开始,我一直在尝试访问$BUILD_LOG环境变量,但是当我尝试
echo "${BUILD_LOG, maxLines=50, escapeHtml=false}"
Run Code Online (Sandbox Code Playgroud)
构建错误:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 11: unexpected token: BUILD_LOG @ line 11, column 29.
echo "${BUILD_LOG, maxLines=50, escapeHtml=false}"
Run Code Online (Sandbox Code Playgroud)
如果我尝试
echo "$BUILD_LOG"
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
groovy.lang.MissingPropertyException: No such property: BUILD_LOG for class: groovy.lang.Binding
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?或者这是访问打印输出的错误方式?
我在声明性管道和以下步骤中遇到了同样的问题:
emailext(
subject: "foo",
to: "bar",
body: """<p>FAILED: Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]':</p>
<p>Console output (last 250 lines):<hr><pre>${BUILD_LOG}</pre></p>"""
Run Code Online (Sandbox Code Playgroud)
我安装了电子邮件分机插件。
解决方案是转义应该由插件扩展的宏的 $-sign,如下所示:
...
<p>Console output (last 250 lines):<hr><pre>\${BUILD_LOG}</pre></p>"""
...
Run Code Online (Sandbox Code Playgroud)
并且一定要使用双引号。
这样 groovy (?) 将首先扩展所有环境变量,并将转义的变量留给 email ext 插件处理。
小智 2
从您链接的答案中, BUILD_LOG 变量是由email-extension plugin设置的。您的配置是否正确,因为这可能是您的问题。
| 归档时间: |
|
| 查看次数: |
3791 次 |
| 最近记录: |