Jenkins流水线使用sshPublisher执行shell脚本引用environment变量的坑

问题1:在使用流水线sshPublisher插件时,如果遇到命令中需要引用environment变量,默认的jenkins流水线生成格式是:

 execCommand: ' ' 'deploy.sh $harborAddress $harborRepo $JOB_NAME $commit $container_port $host_port >> /data/start.out 2>&1 & ' ' '

,jenkins执行后会发现使用pipeline中environment定义的变量没有在命令中被引用
原因:具体原因不明,有大神知道的欢迎留言,在jenkins页面中设置的“参数化构建中”的参数可以被引用
解决:前后的单引号更改为双引号,更改execCommand:"deploy.sh $harborAddress $harborRepo $JOB_NAME $commit $container_port $host_port"
问题2:sshPublisher shell脚本多行并存在变量时,jenkins运行报错
解决:使用一行命令 echo test && echo test1 || echo test2; && || ; 进行拼接,符号意义自行百度

你可能感兴趣的:(jenkins,运维)