jenkins(十六):Jenkins执行脚本
Jenkins(16):Jenkins执行shell脚本
Slave权限
Jenkins slave要是普通用户起的话,开一下sudo权限
admin ALL=(ALL) NOPASSWD:ALL
配置
脚本需要可执行注意权限
slave脚本 #/bin/bash echo 'haha' echo "我是变量$1" echo 'jenkins-test'
执行
BUILD_ID=DONTKILLME
执行脚本时最好加上don’t kill me,例如启动tomcat,Nginx这种。
问题的根本在于是Jenkins使用processTreeKiller杀掉了所有子进程,而且这是Jenkins的默认行为。其实回头来看这个问题,就发现Jenkins的做法非常合理。当一次build异常结束,或被人终止时,必然需要结束所有这次build启动的子进程。下面的link提供了更多细节,以及解决方法。https://wiki.jenkins-ci.org/display/JENKINS/ProcessTreeKiller
执行shell命令注意环境变量