jenkins传递环境变量的方法 - slave ssh plugin

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

non-interactive 参考

  • 修改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来执行的