jenkins传递环境变量的方法 - slave ssh plugin
slave ssh plugin远程执行时,是non-interactive shell,同时也是login shell
让 SLAVE SSH PLUGIN 获取 SLAVE 机器环境变量的方法
针对shell模式可以有以下几种方法.
注意:SHELL=bash
1.login shell 环境变量设置
将export KEY=VALUE写入到 /etc/profile.d/xxx.sh
2.non-interactive shell 环境变量设置
将export KEY=VALUE写入到 ~/.bashrc
3.non-interactive shell 特别方法 - 开启sshd变量传递参数
有文章说需要设置UsePAM yes,实际测试并没有影响; 测试环境为centos7
- 修改sshd参数
$ sed -i -e '$aPermitUserEnvironment yes' -e '$aUseDNS no' /etc/ssh/sshd_config
$ systemctl restart sshd
- 添加变量到文件
在/etc/environment或~/.ssh/environment中加入KEY=VALUE值
验证
$ ssh user@host env #远程服务器上实际是以 bash -c env来执行的