我有一个依赖于Common-project(A)的项目(B,C,D)。 构建A时,应使用管道触发B,C,D。 所有构建都成功。
Project-A正在生成JAR,该JAR不会在本地(〜/ .m2 / ...)以外的其他任何地方发布
我通常使用Jenkinsfiles,但现在我还尝试直接在Jenkins中使用代码设置最小的管道作业,同时尝试使触发工作。
下面是我为测试而创建的最少管道作业。
对于所有项目,我都勾选了“每当构建SNAPSHOT依赖项时就构建”
在构建日志中,我可以看到这两个项目: [INFO] [jenkins-event-spy]生成的/var/lib/jenkins/workspace/ProjectName@tmp/withMavend4286f3f/maven-spy-20190411-121907-5107444902202263660415.log
项目A管道
node{
stage ('Build'){
git branch: 'master', credentialsId: 'theID', url: 'git@github.com:ORG/PROJECT-A.git'
withMaven(
maven: 'Maven_3_6_0',
jdk: 'Java1.8'
) {
sh "mvn clean install"
}
}
}
项目B管道
node{
stage ('Build'){
git branch: 'master', credentialsId: 'theID', url: 'git@github.com:ORG/PROJECT-B.git'
withMaven(
maven: 'Maven_3_6_0',
jdk: 'Java1.8'
) {
sh "mvn clean install"
}
}
}
项目B pom.xml依赖声明
<dependency>
<groupId>com.myorg</groupId>
<artifactId>projecta</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
我无法弄清楚在构建A时触发项目B的其他需求。
答案 0 :(得分:1)
要配置Jenkins Pipeline Maven集成以触发mvn install
上的下游管道:
更改全局配置:
或在上游管道的脚本中,配置withMaven(options: [pipelineGraphPublisher(lifecycleThreshold: 'install')]) {...}
也请不要忘记在下游管道(项目B)上启用“每当构建SNAPSHOT依赖项时就进行构建”(properties([pipelineTriggers([snapshotDependencies()])])
)
答案 1 :(得分:0)
我认为问题在于方法recordGeneratedArtifact是使用时间戳版本(“版本:1.0-20191009.204621-22”)而不是“ -SNAPSHOT”调用的,因此listUpstream和listDownstream查询无法返回结果... >