mask passwords 参数用法
在有些时候我们在jenkins job的脚本中需要用到密码,一般我们都是直接明文书写,或者是创建字段,但是这么做都不太安全,都会在console中打印出来密码,所以我们用到mask passwords 这个参数,在这上面指定name 为 PASSWORD,在脚本中我们就可以通过$PASSWORD来调用密码
传输jenkins_home文件到别的服务器
假设我们要把jenkins_home中的testjob的log 文件和config.xml文件传到其他服务器上。
#!/bin/bash
set -x
filename="${JENKINS_HOME}/jobs/testjob/log ${JENKINS_HOME}/jobs/testjob/log"
#${JENKINS_HOME}为jenkins默认参数
#因为要传输log和config.xml两个文件所以我们就给filename定义两个文件路径,之后用遍历方法获取单个文件
for file in $filename
do
if [[ $file = ~log ]];then
des_file=testjob_log
else
des_file=testjob_config.xml
fi
#用expect交互式方法来执行下面命令(因为要输入密码所以必须用到交互方法)
expect -c "
set timeout 1
spawn scp $file root@123.0.12.11:/tmp/$des_file
expect password: { send $PASSWORD\r }
expect 100%
sleep 1
exit
"
#expect password: { send $PASSWORD\r }这句话就是当监测到password字段之后向终端发送密码.
sleep 5
done