到目前為止,我只和詹金斯一起作業。我們已經配置了一個 Multibranch Pipeline 作業來自動構建和測驗軟體。這些任務是用 Groovy 撰寫的,并存盤Jenkinsfile在我們 git 存盤庫的根目錄中。
最近,我們決定添加另一種機制來自動生成檔案。檔案的生成(但這可以是任何其他任務)已使用 GitLab CI 實作。
兩條管道實際上都是獨立的——并且都由 git commit/push 觸發。我不明白的是:為什么以及如何與 GitLab CI 管道關聯的 Jenkins 管道執行?在下面的螢屏截圖中,出現了一個新列“外部”——代表 Jenkins 管道作業。

這真的不是什么大問題。但由于兩條管道應該是獨立的 - 運行結果不應相互影響。但是,似乎當 Jenkins 作業失敗時,即“外部”,GitLab CI 管道也會失敗:


有沒有辦法更好地解耦這些管道,即讓它們單獨失敗或成功?
uj5u.com熱心網友回復:
這是因為
uj5u.com熱心網友回復:
為什么以及如何將 Jenkins 管道執行與 GitLab CI 管道相關聯?在下面的螢屏截圖中,出現了一個新列“外部”——代表 Jenkins 管道作業。
通常,“外部”狀態是使用提交構建狀態 API創建的——Jenkins 使用此 API 將 Jenkins 管道構建狀態報告給 GitLab CI。
Jenkins 的這種外部狀態出現在您的 GitLab 管道中,因為您已將Jenkins 服務器/專案配置為向 GitLab 報告構建狀態,或者您已在 GitLab 中設定了與 Jenkins的webhook 集成(注意這些可能在組級別或由管理員設定) ,不一定是專案級別)
要從您的管道中洗掉它,您應該禁用任何現有的集成配置并獨立于任何 GitLab 集成設定您的 Jenkins 專案。例如,使用 git polling 來觸發 jenkins 構建并洗掉updateGitlabCommitStatus您的 groovy 腳本/構建階段中的任何呼叫。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/380480.html
