0

環境:

バージョン番号がファイルによって注入される Maven アプリをビルドしbuild.propertiesます。このアプローチの問題点は、リリースごとにバージョン番号を手動で変更する必要があることです


この問題を解決するためにオンラインでブラウジングしていると、問題を解決するクールな方法を提供するバージョン番号プラグインに出くわしました。たとえば-Dproject.version=${BUILD_YEAR}.${BUILDS_THIS_YEAR}、私のために問題を解決します

問題

定義済み変数の値の設定に問題があります

ドキュメントからの引用:

初期化値
ビルドを開始する前に、今年/月/週/日のビルド数をコマンド ラインまたはジョブのプラグイン構成 Web GUI で指定できます。それらが指定されている場合、それらは現在本番環境にある値をオーバーライドします。これにより、必要に応じてバージョン番号を別のシステムから Jenkins に移行できます。

さらに、今年/月/週/日のビルド数を、環境変数から取得した値で自動的に上書きすることができます。ジョブのプラグイン構成のフォーム フィールドに次のビルドの値をオーバーライドする単純な数値を指定するだけでなく (上記のように)、次のビルドで値が抽出されて使用される環境変数を指定することもできます。ビルドします。設定されていない場合、またはその値が (精度を失うことなく) 正の整数に変換できない場合は、代わりに前のビルドの値が取得され、1 増加します (標準の動作と同様)。

最後の文で、それは言う

If it is not set or its value is not convertible to a positive integer (without 
loosing precision), the value of the previous build will be taken instead 
and increased by one (as is the standard behavior)

BUILD_YEARしたがって、これにより、との値が注入された jar が作成さBUILDS_THIS_YEARれ、期待どおりに機能しました (ジェンキンは言いますBuilding my_app_2019.1-SNAPSHOT)。その後、変数が選択されると仮定して変数を削除しましたが、残念ながらジェンキンは言いBuilding my_app_${BUILD_YEAR}.${BUILDS_THIS_YEAR}-SNAPSHOTます。

これに関する関連ドキュメントはありません。または、完全に明らかな何かを見逃している可能性があります

質問

varこれらが私のMavenビルドに正しく挿入されるようにするにはどうすればよいですか? または、プラグインを使用して値を入力するにはどうすればよいですか?

これはジェンキンス パイプラインではなく、単純な jar ビルドです。

4

1 に答える 1

2

Create a formatted version number以下のように設定を逃した:

ここに画像の説明を入力

上の画像に従って更新し、コマンドを-Dproject.version=${VERSION_NUMBER}-SNAPSHOT.... voila!!!!!に変更しました。

于 2019-07-02T06:45:30.090 に答える