詹金斯的bash脚本中没有回声

时间:2017-04-18 09:25:28

标签: ruby bash jenkins rvm

我正在为Mac上的Jenkins编写一个管道脚本,需要执行几个步骤。其中一些涉及RVM和Bundler ......

sh '#!/bin/bash -xl' +
    ' && rvm list' +
    ' && rvm use 2.3.1' +
    ' && gem install bundler' +
    ' && which bundler'

正如你所看到的,我必须使用hashbang来使RVM和Bundler工作,即必须在登录Shell中,但问题是我在Jenkins中看不到任何日志输出,甚至使用-xl标志。

有人知道为什么省略日志输出以及如何为此启用它吗?

更新

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

2 个答案:

答案 0 :(得分:0)

" sh" function有可选参数。如果你像你一样打电话,你就不会得到剧本的标准输出。

如果您进入管道作业定义,在此处指定管道脚本本身,您应该看到标有"管道语法"的链接。这允许您试验Jenkins实例中启用的管道步骤。如果你选择" sh"从下拉菜单中点击" Advanced"按钮,您将看到可以设置的其他选项,包括" returnStdout"标志。

答案 1 :(得分:0)

为了扩展David Karr的答案,您可能正在寻找类似的东西:

sh(returnStdout: true, script: "your script here")