jenkins终止当前构建过程

本文介绍如何使用curl命令通过API终止Jenkins构建,避免执行不必要的构建后操作。同时,探讨了利用Configuration Slicing插件及shell脚本批量修改Jenkins任务配置的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


      构建成功后设置了"构建后操作"为"钉钉通知器配置",而有些时候虽然没有执行某些步骤,但是还是会执行构建后操作,所以想用shell来停止,获取父进程id然后kill,实验过程中把"/usr/bin/java -Djava.awt.headless=true"给停掉了,导致jenkins服务停止。后来在构建过程中通过单击停止按钮,弹出提示框是否abort,然后就关键字"jenkins abort"搜索到文章<How can I abort a jenkins build - Stack Overflow>,"If the build has started, by GET on: http://<Jenkins_URL>/job/<Job_Name>/<Build_Number>/stop",然后在浏览器中输入,提示发送post请求确认后果真停止了构建过程,然后想着怎么在脚本中通过curl命令来触发,然后关键字"curl post"搜到文章<Linux curl 命令模拟 POST/GET 请求>,看了下发送post请求需要-d参数,由于并不想发送数据所以-d参数的值为"",没有成功后来就关键字"jenkins curl post"搜到文章<curl 调用jenkins的api>,发现里面有个"构建job login"和"命令中--user 表示jenkins账号密码认证 ",然后参照着加了--user 参数,然后就成功终止了当前构建过程。

       关于jenkins批量修改任务配置,参考了<10,Jenkins实战应用--Jenkins插件之批量修改配置>,通过Configuration Slicing插件实现了批量修改。看了下文章<Jenkins批量修改配置文件>,是通过shell脚本修改任务目录下的config.xml实现的,后来又看了<如何批量修改Jenkins job的配置?>和<解析xml文件,修改Jenkins的配置>两篇文章,思路也是修改config.xml,但是如果这样那还是用shell可能更方便些。还找了一篇文章<python+selenium批量修改jenkins项目分支>,python实现,不过没有细看。

Jenkins Pipeline中,您可以使用`timeout`指令来设置超时时间并自动终止流水线。 以下是一个示例,展示了如何在Jenkins Pipeline中设置超时并自动终止: ```groovy pipeline { agent any stages { stage('Build') { steps { timeout(time: 1, unit: 'HOURS') { // 在这里放置构建步骤 // 如果超过1小时,流水线将自动终止 } } } // 其他阶段和步骤... } } ``` 在上面的示例中,我们在`Build`阶段的步骤中使用了`timeout`指令。`time`参数设置了超时时间,这里设置为1小时。`unit`参数指定了时间单位,这里设置为小时。 当流水线执行到超时指令时,如果指定的时间已经过去,Jenkins会自动终止流水线的执行。您可以根据需要调整超时时间和单位来满足您的需求。 需要注意的是,超时指令只会对其包含的步骤生效,而不是整个流水线。如果您希望整个流水线都有超时限制,可以在每个阶段的步骤中都添加超时指令。 另外,还可以使用`failFast`参数来控制超时后是否终止整个流水线的执行。如果将`failFast`设置为`false`,则超时后仅终止当前步骤,而不会终止整个流水线的执行。 ```groovy pipeline { agent any stages { stage('Build') { steps { timeout(time: 1, unit: 'HOURS', failFast: false) { // 在这里放置构建步骤 // 如果超过1小时,只终止当前步骤,而不终止整个流水线 } } } // 其他阶段和步骤... } } ``` 希望这可以帮助到您!
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值