Jenkinsでパラメータ化されたジョブを作成しました。
- ラベル「V_x_y_z」に基づいてソースを取得します(JenkinsとSVNの統合)
- ラベルを渡してMavenを実行します
- POMはbuild-helper-maven-pluginを使用してバージョンxyzを計算します
結果のアーティファクトは正しいですが、バージョンが間違っています。
コマンドラインでバージョンをversions-maven-pluginに渡す以外に、結果のPOMバージョンを変更する方法がわかりません。しかし、Jenkinsには、ラベルを解析してバージョンに変換する方法がありません。
したがって、「悪い」オプションしかないようです。
- ユーザーにビルドとラベルの両方を入力するように要求する-エラーが発生しやすい
- JenkinsではなくMavenでチェックアウトを実行します。これにより、POM自体がバージョン管理されたアイテムであるため、関心の分離が破られます。
- スクリプト(Pythonなど)でMavenをラップしますが、JenkinsとMavenの統合のメリットが失われます
これは平凡なユースケースであり、簡単にサポートできると思っていたでしょう。重要な要素が不足しているのでしょうか。