如何在jenkins管道(以前称为工作流)中启动bash登录shell?

Jef*_*eff 12 jenkins jenkins-workflow

我刚刚开始将我的Jenkins作业转换为新的Jenkins管道(工作流)工具,并且我无法获得sh使用bash登录shell 的命令.

我试过了

sh '''
#!/bin/bash -l
echo $0
'''
Run Code Online (Sandbox Code Playgroud)

但是echo $0命令总是在交互式shell中执行,而不是bash登录shell.

Jef*_*eff 30

@izzekil是对的!!!! 非常感谢!

所以要详细说明发生了什么.我用sh''',这表明多行脚本.但是,转储到jenkins节点的结果shell脚本将是一行,而不是第一行.所以我能用这个解决这个问题

sh '''#!/bin/bash -l
echo $0
# more stuff I needed to do,
# like use rvm, which doesn't work with shell, it needs bash.
'''
Run Code Online (Sandbox Code Playgroud)

  • @gaoithe,那些行是必需的,这不是执行shell作业,这是使用Jenkins管道,所以这是一个用groovy编写的Jenkins作业. (2认同)