次のように GoCD を使用してデプロイ パイプラインをセットアップしようとしています。
- コンパイル、テスト、Maven リポジトリへのデプロイ
- SVN からソース コードをチェックアウトする
- mvn clean compile test install を実行します
- mvn deploy を実行して、WAR アーティファクトを Sonatype リポジトリにデプロイします。
- Tomcat サーバーにデプロイする
- Sonatype リポジトリから WAR アーティファクトを取得する
- mvn tomcat7:redeploy を実行して、実行中の Tomcat インスタンスにデプロイします
問題は、1.2 と 1.3 を (たとえば) 1.3 でソース コード全体のチェックアウト全体を再実行しなければ分割できないように見えることです。私はすでにパッケージ段階まで取得しており、そこから実行を続けることができるはずなので、これは冗長に思えます。
1.3 と 2.2 の間では、Sonatype から WAR アーティファクトを取得できることがわかりますが、maven タスクを実行するための pom.xml がないため、maven ではあまり処理できません。もちろん、ソース コード マテリアルを追加して、mvn パッケージの tomcat7:redeploy サイクル全体をもう一度実行することもできますが、これが最初に設計された目的ではないことは確かです。
また、シェル スクリプトを作成し、それを実行して WAR ファイルを適切な場所にコピーするように Go に依頼することもできます。展開パイプラインを視覚化するのにあまり役に立たない単一のボックス。
Maven タスク フローを異なる Go タスク / パイプラインに分割したい場合、このパイプラインをどのように設計すべきかについてアドバイスをもらえますか?
ありがとうウォン