JenkinsのMaven2ジョブで、ジョブの「SNAPSHOT依存関係がビルドされるたびにビルドする」をチェックすると、2つのアップストリームジョブが追加されます。これらは正しいプロジェクトですが、バージョンが正しくありません(例:4.0.3-SNAPSHOTではなく5.0-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>
また、2つの異なるバージョンについて、これらすべてのプロジェクトのジョブを2回作成したことにも言及する価値があるかもしれません。だから仕事があります:
- main-5.0-スナップショット
- B-5.0-スナップショット
- main-4.0.3-スナップショット
- B-4.0.3-スナップショット
そして、何らかの理由で、main-5.0-SNAPSHOTにはアップストリームプロジェクトとしてB-4.0.3-SNAPSHOTがあり、main-4.0.3-SNAPSHOTにはアップストリームプロジェクトとしてB-5.0-SNAPSHOTがあります。これはかなり奇妙です。