gpt4 book ai didi

java - 构建快照时不会触发 Jenkins 多分支项目

转载 作者:行者123 更新时间:2023-12-02 09:53:50 29 4
gpt4 key购买 nike

我在 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"
}
}
}

在多分支项目的配置中,选中每当构建 SNAPSHOT 依赖项时构建选项。 (几个分支的配置中相同的选项不勾选)

不幸的是,在我的情况下,此检查似乎被忽略,因为当构建项目(projectX)时(例如,创建 SNAPSHOT jar 的开发分支),定义依赖项的所有下游项目(及其开发分支)在他们的 pom 到 projectX 中,没有被触发。

出了什么问题?或者我是否需要检查多分支项目的所有分支中的选项?或者我需要更改 Jenkinsfile 中的某些内容吗?

谢谢

最佳答案

请参阅Pipeline Maven Plugin FAQ > My downstream pipelines don't get triggered even if I use "Build whenever a SNAPSHOT dependency is built"

配置 Jenkins Pipeline Maven 集成以触发“mvn install”上的下游管道:

  • 更改全局配置:

    • 导航到“管理 Jenkins/全局工具配置”
    • 点击“添加发布者”并选择“Pipeline Graph 发布者”
    • 在“下游管道触发器”部分中,将“Maven 生命周期阈值”从“部署”更改为“安装” Pipeline Maven Plugin > Global Configuration > Trigger Downstream Pipelines > Maven lifecycle threshold
  • 或者在上游管道的脚本中,配置 withMaven(options: [pipelineGraphPublisher(lifecycleThreshold: 'install')]) {...}

注意:关于您的声明 mavenSettingsConfig: 'e228f408-...',请注意,您可以全局或在文件夹级别声明 Maven 设置,如 Jenkins Pipeline Maven Integration > Features > Maven Settings 中所述。

关于java - 构建快照时不会触发 Jenkins 多分支项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56145100/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com