[英]Jenkins Pipeline: how can I disable the current job from inside a pipeline?
[英]how to disable jenkins pipeline job
我正在使用 Jenkins 2.0 的管道作業,但我沒有看到我在舊 Jenkins 版本中習慣使用的選項“禁用作業”。 我錯過了什么嗎? 是否仍然可以禁用(管道)作業?
從 Jenkins 2.89.4 開始,您可以簡單地使用“禁用項目”選項來禁用管道作業。
對於多分支管道項目,
現在,沒有 github 分支觸發器將運行構建作業。 (這將禁用所有分支的觸發器)
我有一個類似的案例,發現我們的很多作業都是/由自動“播種機”作業設置的,該作業從作業 DSL 創建它們,並且它們的配置不可編輯。 所以我去了 GitHub 並禁用了連接兩者的 webhook。 因此該作業仍處於活動狀態,但不應再由 GitHub 活動觸發。
如果像我一樣,您的 Jenkins 作業是由 DSL 工作流自動創建的,您將無法編輯包含所有實際分支的頂級作業的配置,以禁用來自 github 掛鈎的自動構建。 我目前無法找到一種方法來以編程方式禁用 jenkinsfile 中的整個管道,除了在其他 SO answer 中提到的每個階段使用 when trigger when triggered by
子句之外。 此外,這會導致它運行並成功,這可能不是我們想要的。
所以對我來說最簡單的解決方案是:
Jenkinsfile
,以便 Jenkins 的 SCM 輪詢不會選擇它。 我選擇了Jenkinsfile.manual
。 這假設 job-auto-creator 設置為查找“Jenkinsfile”; 根據需要進行調整。Jenkinsfile.manual
(或您選擇的任何名稱)。這對我來說感覺“正確”,你的里程因人而異。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.