如何让所有Jenkins奴隶任务执行得很好?

Spa*_*ose 2 nice jenkins jenkins-slave

我们有一些Jenkins工作可能会被Jenkins奴隶处决.是否可以全局设置Jenkins任务的优秀级别,以确保所有 Jenkins任务都以更高的级别执行?

Ale*_*x O 7

是的,这是可能的."技巧"是启动奴隶代理已经具有适当的好水平; 在该奴隶上运行的所有Jenkins进程都将继承该进程.

Jenkins通过ssh启动slave代理,有效地运行一个命令

cd /path/to/slave/root/dir && java -jar slave.jar
Run Code Online (Sandbox Code Playgroud)

在Jenkins节点配置页面上,您可以定义"前缀启动从属命令"和"后缀启动从属命令"以获得此优惠.设置如下:

  • 前缀启动从站命令: nice -n -10 sh -c '
  • 后缀启动从属命令: '

这样,从启动命令就变成了

nice -n -10 sh -c 'cd "/path/to/slave/root/dir" && java -jar slave.jar'
Run Code Online (Sandbox Code Playgroud)

这假设您的登录shell是一个bourne shell.对于csh,您将需要不同的语法.另请注意,如果从属根路径包含空白,则可能会失败.

我通常喜欢" Launch slave via execution of command on the Master",并在shell包装器中调用ssh.然后你可以选择密码和客户选择,并且可以在没有前缀/后缀kludges且没有空格陷阱的情况下设置好看.

  • 在此示例中发出警告:`nice -n -10` 使友好度级别降低(负 10),但在 Jenkins 构建服务器上,如果您的目标是保持机器响应,您可能希望将友好度设置得更高:`不错-n 10` (2认同)