【问题标题】:How to set default value for label expression in Jenkins project configure page如何在 Jenkins 项目配置页面中为标签表达式设置默认值
【发布时间】:2017-07-24 02:04:29
【问题描述】:

目前我收到一个请求,我需要阻止 Jenkins master 中的所有构建作业,每个作业都必须在 slave 中构建。

所以我想配置 Jenkins 中的每个新作业都将在“限制此项目可以运行的位置”中进行默认检查,然后是标签表达式的默认值,例如“码头工人奴隶”。这样每次开发人员创建一个新工作时,他们不必选择将使用哪个 jenkins slave(实际上他们不想这样做)。

I would like this to be default for every new job <-

任何帮助将不胜感激。非常感谢。

【问题讨论】:

  • 您可以转到/computer/(master)/configure 并将“# of executors”设置为 0。
  • 嗨,谢谢@burnettk,是的,我已经将 master executors 设置为 0,然后所有新工作都处于挂起状态,因为我们的开发人员没有在他们的工作中检查“限制该项目可以运行的位置”配置。由于我们使用 ECS 加载我们的 jenkins 从站,它必须与“限制此项目可以运行的位置”一起使用,否则它不会自行加载。这就是为什么我正在寻找一种在每个作业中将默认值设置为标签表达式的方法。

标签: jenkins


【解决方案1】:

这里有两种方法:

  • 在主节点配置下,您可以指定以独占方式运行绑定到主节点的作业。如果没有绑定,则没有运行。这意味着,一个编写作业必须明确地将作业绑定到 master。

  • 有一个job restrictions 插件可以更好地控制每个节点上可以运行的内容。您可以只允许特定用户在 master 上运行作业。

【讨论】:

  • 感谢@Stefan Hanke,工作限制只能限制开发人员创建工作时不会发出警告,因此所有工作都将处于待处理状态:(。
  • 不知何故我需要一种方法来将默认值添加到标签表达式以及在“限制此项目可以运行的位置”中进行默认检查,或者如果他们不使用“限制在哪里”来阻止他们创建作业这个项目可以运行”。否则,当阻止在 master 上构建时,所有待处理的工作和 dev 都来找我问为什么它没有运行:(
  • 我使用ECS插件创建jenkins slave,所以除了master节点之外没有物理节点。
猜你喜欢
  • 2016-09-20
  • 1970-01-01
  • 2014-07-08
  • 2016-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-25
  • 1970-01-01
相关资源
最近更新 更多