我们有许多Jenkins工作可能会被Jenkins奴隶处决。是否可以全局设置Jenkins任务的优秀级别,以确保所有 Jenkins任务以更高的级别执行?
答案 0 :(得分:6)
是的,这是可能的。 “技巧”是启动奴隶代理已经具有适当的好水平;在该奴隶上运行的所有Jenkins进程都将继承该进程。
Jenkins通过ssh启动奴隶代理,有效地运行像
这样的命令cd /path/to/slave/root/dir && java -jar slave.jar
在Jenkins节点配置页面上,您可以定义“Prefix Start Slave Command”和“Suffix Start Slave Command”以获得此nice-d。设置如下:
nice -n -10 sh -c '
'
这样,从启动命令变为
nice -n -10 sh -c 'cd "/path/to/slave/root/dir" && java -jar slave.jar'
这假设您的登录shell是bourne shell。对于csh,您将需要不同的语法。另请注意,如果从属根路径包含空白,则可能会失败。
我通常喜欢“Launch slave via execution of command on the Master
”,并在shell包装器中调用ssh。然后你可以选择密码和客户选择,并且可以在没有前缀/后缀克隆的情况下完成设置好处,并且没有空格陷阱。