[英]No echos in bash script in Jenkins
我正在Mac上为Jenkins编写管道脚本,该脚本需要执行几个sh步骤。 其中一些涉及RVM和Bundler ...
sh '#!/bin/bash -xl' +
' && rvm list' +
' && rvm use 2.3.1' +
' && gem install bundler' +
' && which bundler'
如您所见,我必须使用hashbang来使RVM和Bundler正常工作,即必须位于Login Shell中,但问题是,即使使用-xl标志,我也不会在Jenkins中看到任何日志输出。
有人知道为什么省略日志输出以及为此如何启用它吗?
更新 :
sh returnStdout: true, script: '#!/bin/bash -xl && rvm list && rvm use 2.3.1 && gem install bundler && which bundler'
日志输出:
[Pipeline] sh
[app_ios_test_automation] Running shell script
[Pipeline] echo
“ sh”功能具有可选参数。 如果按您的方式进行调用,则不会获得脚本的标准输出。
如果进入管道作业定义(在其中指定管道脚本本身),则应该看到标有“管道语法”的链接。 这使您可以尝试在Jenkins实例中启用的管道步骤。 如果从下拉列表中选择“ sh”,然后单击“高级”按钮,您将看到可以设置的其他选项,包括“ returnStdout”标志。
为了扩展David Karr的答案,您可能正在寻找类似以下的内容:
sh(returnStdout: true, script: "your script here")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.