一尘不染

从另一个工作中禁用Jenkins工作

jenkins

詹金斯(哈德森)是否有办法从另一个工作中禁用一个工作?

基本上,我们有一个进行标准构建/测试的构建环境。我们还使用相同的Jenkins实例来执行其他一些操作,例如自动安装产品的新版本(某些自动化测试需要此功能)。当我们运行某些“额外”作业时,我们希望暂时禁用“标准”作业(然后在以后自动启用它们)。

理想情况下,在作业上会有一些额外的构建步骤,例如“禁用XYZ作业”。或者,如果有通过ANT的方法或告诉Jenkins禁用工作的方法,那也可以。

更新: 看来有几个插件可以阻止两个作业同时运行,但是我确实需要:

  1. 运行作业A禁用作业1
  2. 根据作业A的输出在詹金斯之外做一些事情
  3. 运行作业B,它再次启用作业1

阅读 273

收藏
2020-07-25

共1个答案

一尘不染

我发现了使用jenkins-
cli(命令行界面)的一种可能方法。我添加了此构建步骤(对我来说,这是一个Windows批处理命令,尽管我可以将其设置为脚本或更优雅的名称):

java -jar C:\my\jenkins\path\jenkins-cli.jar -s %JENKINS_URL% disable-job "Job 1"

我还没有研究如何获得通往詹金斯的道路,但这并不难。

这是有关CLI的一些信息。您也可以访问http:// your-jenkins:8080 /
cli,
以获取一些可用命令。

2020-07-25