我在 Jenkins (v2.164.3) 中有不同的 maven 項目,它們駐留在我們本地的 gitlab 服務(wù)器中。所有項目定義如下Jenkinsfile:node { stage('git') { checkout scm } stage('compile') { withMaven(mavenSettingsConfig: 'e228f408-7768-4374-b8e1-259321e2fa99') { bat "mvn clean compile" } } stage('test') { withMaven(mavenSettingsConfig: 'e228f408-7768-4374-b8e1-259321e2fa99') { bat "mvn test" } } stage('install') { withMaven(mavenSettingsConfig: 'e228f408-7768-4374-b8e1-259321e2fa99') { bat "mvn install -DskipTests" } }}在多分支項目的配置中,該選項Build whenever a SNAPSHOT dependency is built被選中。(幾個分支配置中的同一個選項不勾選)不幸的是,在我的例子中,這個檢查似乎被忽略了,因為當(dāng)一個項目(projectX)被構(gòu)建時(例如開發(fā)分支,它創(chuàng)建了一個 SNAPSHOT jar),所有下游項目(帶有它們的開發(fā)分支),在它們的 pom 中定義了一個依賴項到 projectX,不會被觸發(fā)。怎么了 ?或者我是否需要檢查多分支項目所有分支中的選項?或者我需要改變我的東西Jenkinsfile嗎?謝謝
1 回答

一只萌萌小番薯
TA貢獻1795條經(jīng)驗 獲得超7個贊
請參閱Pipeline Maven 插件常見問題解答 > 即使我使用“每當(dāng)構(gòu)建 SNAPSHOT 依賴項時構(gòu)建”,我的下游管道也不會被觸發(fā)
要配置 Jenkins Pipeline Maven 集成以觸發(fā)“mvn install”上的下游管道:
要么改變?nèi)峙渲茫?/p>
導(dǎo)航到“管理 Jenkins/全局工具配置”
單擊“添加發(fā)布者”并選擇“管道圖發(fā)布者”
在“下游管道觸發(fā)器”部分,將“Maven 生命周期閾值”從“部署”更改為“安裝”
或者在上游管道的腳本中,配置
withMaven(options: [pipelineGraphPublisher(lifecycleThreshold: 'install')]) {...}
注意:關(guān)于您的聲明mavenSettingsConfig: 'e228f408-...'
,請注意您可以全局或在文件夾級別聲明 Maven 設(shè)置,如Jenkins Pipeline Maven Integration > Features > Maven Settings中所述
添加回答
舉報
0/150
提交
取消