我有一个Jenkins作业,它在远程服务器上执行shell脚本。现在我想发送一些参数和shell脚本。下面的例子可能会让你有更多的想法。
variable1={git-URL}
variable2={branch}
我希望将这些参数传递给远程机器上的shell脚本,并且应该像下面那样执行
#/usr/local/bin/check_out_code.sh <git-url> <branch>
如果有人可以为我指出一些工作,那会很棒
感谢。
答案 0 :(得分:3)
您可以将任何环境变量(包括Jenkins参数)引用为linux中的任何其他变量:${VARNAME}
答案 1 :(得分:1)
我遇到了同样的问题。
远程计算机中未定义参数/${xx}/$xxx
。所以当你的shell脚本在远程机器上执行时无法获得正确的值。
这种方法可以解决问题:
ssh -t server.example.com 'export MYVAR='"'$LOCALVAR'"'; mycommand'
答案 2 :(得分:0)
正如@Slav所提到的,您可以像使用Jenkins中的任何其他环境变量一样使用环境/构建参数。要记住的一件事是它们在脚本执行之前得到扩展。如果您恰好使用管道groovy脚本,请确保使用双引号"
而不是单'
:
以下不起作用:
sh '/usr/local/bin/check_out_code.sh ${giturl} ${branch}'
以下工作:
sh "/usr/local/bin/check_out_code.sh ${giturl} ${branch}"