複数のターゲット プラットフォーム用にビルドする必要があるアーティファクトがあります。
- Linux x86
- ウィンドウズ x86
- アーム11
残念ながら、クロスコンパイラがないため、アーティファクトのすべてのバージョンを一度に作成することはできません。
言い換えれば、目標は、リポジトリにこのようなものを持つことです
- アーティファクト-1.0.0-linux.zip
- アーティファクト-1.0.0-windows.zip
- アーティファクト-1.0.0-arm11.zip
- アーティファクト-1.0.1-linux.zip
- アーティファクト-1.0.1-windows.zip
- アーティファクト-1.0.1-arm11.zip
- ...
バージョンが同期されていることに注意してください。これを達成する方法は?
問題は、ビルドのたびにリリース プロセスによって pom.xml のバージョンがアップグレードされることです。したがって、さまざまなプラットフォームで連続して構築することで、
- アーティファクト-1.0.0-linux.zip
- アーティファクト-1.0.1-windows.zip
- アーティファクト-1.0.2-arm11.zip
- アーティファクト-1.0.3-linux.zip
- アーティファクト-1.0.4-windows.zip
- アーティファクト-1.0.5-arm11.zip
- ...
しかし、これは私が探しているものではありません。
私はできた
Linuxで実行
mvn release:prepare release:perform -DpushChanges=false
(pushChanges を false release に設定すると、SCM でバージョン番号が増加しません)
そして、Windowsで実行します
mvn リリース:リリースの準備:実行
(これにより、バージョン番号が増加します)
しかし、さまざまなプラットフォームで適切な順序でリリース プロセスを開始する責任は私にあります。これを手伝ってくれる方法はありますか?
何か提案はありますか?
ありがとう
PS。これは、モジュールに編成する方法に関する質問ではないことに注意してください。複数のプラットフォームで単一のアーティファクトのリリース プロセスを同期する方法についてです。