jenkins - 如何用nice执行所有Jenkins从属任务?

标签 jenkins nice jenkins-slave

我们有许多 Jenkins 作业可以通过 Jenkins 从属执行。是否可以全局设置 Jenkins 任务的 Nice 级别,以确保所有 Jenkins 任务都以更高的 Nice 级别执行?

最佳答案

是的,这是可能的。 “技巧”是用适当的好级别启动从属代理;在该从站上运行的所有 Jenkins 进程都将继承它。

Jenkins 通过 ssh 启动从属代理,有效地运行如下命令

cd /path/to/slave/root/dir && java -jar slave.jar

在 Jenkins 节点配置页面上,您可以定义一个“前缀启动从机命令”和一个“后缀启动从机命令”来获得此 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,您将需要不同的语法。另请注意,如果您的从属根路径包含空格,这可能会失败。

我通常更喜欢“通过在主服务器上执行命令来启动从服务器”,并从 shell 包装器中自己调用 ssh。然后,您可以选择密码和所选客户端,并且可以在没有前缀/后缀拼凑和空格陷阱的情况下完成设置。

关于jenkins - 如何用nice执行所有Jenkins从属任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37719692/

相关文章:

java - 在预定的时间从 java 构建 jenkins 作业一次

java - "nice"是否影响Java线程的优先级

jenkins swarm 插件 : Unable to connect to master. 连接被拒绝

Jenkins 错误 : "ERROR: Unable to install JDK unless a valid username/password is provided."

linux - Linux IOnice 会影响/dev/nodes 吗?

jenkins - 如何在 jenkinsci/kubernetes-plugin 中使用 yaml 定义 pod

java - Maven 构建无法在 jenkins websphere 部署插件中部署

ubuntu - Jenkins 恢复 config.xml 更改,防止安全绕过

git - Jenkins Git 用户内容插件

cpu-usage - 了解什么正在耗尽 "nice"CPU