构建 SNAPSHOT 时不会触发 Jenkins Multibranch 项目

我在 Jenkins (v2.164.3) 中有不同的 maven 项目,它们驻留在我们本地的 gitlab 服务器中。


所有项目定义如下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被选中。(几个分支配置中的同一个选项不勾选)


不幸的是,在我的例子中,这个检查似乎被忽略了,因为当一个项目(projectX)被构建时(例如开发分支,它创建了一个 SNAPSHOT jar),所有下游项目(带有它们的开发分支),在它们的 pom 中定义了一个依赖项到 projectX,不会被触发。


怎么了 ?或者我是否需要检查多分支项目所有分支中的选项?或者我需要改变我的东西Jenkinsfile吗?


谢谢


烙印99
浏览 117回答 1
1回答

一只萌萌小番薯

请参阅Pipeline Maven 插件常见问题解答 > 即使我使用“每当构建 SNAPSHOT 依赖项时构建”,我的下游管道也不会被触发要配置 Jenkins Pipeline Maven 集成以触发“mvn install”上的下游管道:要么改变全局配置:导航到“管理 Jenkins/全局工具配置”单击“添加发布者”并选择“管道图发布者”在“下游管道触发器”部分,将“Maven 生命周期阈值”从“部署”更改为“安装”或者在上游管道的脚本中,配置withMaven(options: [pipelineGraphPublisher(lifecycleThreshold: 'install')]) {...}注意:关于您的声明mavenSettingsConfig: 'e228f408-...',请注意您可以全局或在文件夹级别声明 Maven 设置,如Jenkins Pipeline Maven Integration > Features > Maven Settings中所述
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java