在詹金斯(Jenkins)中,在maven 2作业中,当我检查'build时,每当构建快照依赖项'为作业'构建时,都会添加两个上游作业。这些是正确的项目,但具有不正确的版本(例如:5.0-snapshot而不是4.0.3-snapshot)。在构建的指纹列表中,使用了5.0-snapshot版本。
目前,作为解决方法,我已经手动定义了工作关系。
什么会导致此类问题以及如何解决?上游作业检测的确切逻辑是什么?
编辑:POM看起来像这样:
...
<packaging>pom<packaging>
<modules>
<module>mod1</module>
...
<module>mod20</module>
</modules>
<properties>
<project.B.version>5.0-SNAPSHOT</project.B.version>
...
</properties>
...
<dependencyManagement>
<dependencies>
<dependency>
<groupId>project.B.group</groupId>
<artifactId>Bartifact</artifactId>
<version>${project.B.version}</version>
<scope>provided</scope>
</dependency>
...
</dependencies>
</dependencyManagement>
,然后有:
的模块mod1<parent>...</parent>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>project.B.group</groupId>
<artifactId>Bartifact</artifactId>
<scope>compile</scope>
</dependency>
</dependencies>
此外,值得一提的是,我已经为所有这些项目创造了两次不同版本的所有这些项目的作业。所以有工作:
- main-5.0-snapshot
- B-5.0-Snapshot
- main-4.0.3-snapshot
- b-4.0.3-snapshot
出于某种原因,main-5.0-snapshot具有B-4.0.3-Snapshot作为上游项目,而Main-4.0.3-Snapshot则B-5.0-Snapshot作为上游项目。这很奇怪。
好吧,我找到了答案 - 这是最近错误的结果。更多详细信息:
- https://issues.jenkins-ci.org/browse/jenkins-15237
- https://issues.jenkins-ci.org/browse/jenkins-15367
与:
有关- https://issues.jenkins-ci.org/browse/jenkins-12735
- https://issues.jenkins-ci.org/browse/jenkins-15295