jenkins传递参数给shell

来源:本站原创 IT必备工具 超过63 views围观 0条评论

 

jenkins传递参数给shell

 

查看jenkins参数

http://jenkins服务器/env-vars.html/

 

jenkins上配置

image

export BUILD=${BUILD_NUMBER}
sh +x /opt/script/remotestop.sh

 

这里用sh 不要用sudo

export只是将参数传递给当前用户

 

———故障排除1

使用key 会进入 api-001 ~]$ 模式

这样执行脚本,部份命令会没权限。所以需要进脚本进行对应修改

对需要权限的命令 前面加sudo

 

但是这样,sudo 后 传的参数又没用了,因为使用sudo 会重置当前变量

解决

解决

1、sudo -E

-E选项在man page中的解释是:

-E

The -E (preserve environment) option indicates to the security policy that the user wishes to preserve their existing environment variables. The security policy may return an error if the -E option is specified and the user does not have permission to preserve the environment.

简单来说,就是加上-E选项后,用户可以在sudo执行时保留当前用户已存在的环境变量,不会被sudo重置,另外,如果用户对于指定的环境变量没有权限,则会报错。

$ sudo -E bash test.sh       # 加上-E参数后就可以获取到变量

Aaa

文章出自:CCIE那点事 http://www.jdccie.com/ 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。 禁止全文转载。
本文链接:http://www.jdccie.com/?p=3919转载请注明转自CCIE那点事
如果喜欢:点此订阅本站
  • 相关文章
  • 为您推荐
  • 各种观点

暂时还木有人评论,坐等沙发!
发表评论

快捷键:Ctrl+Enter