1

「Maven with Mercurial リリース」の知識豊富な意見が欲しいです。

私はすでにこのスレッドと他のいくつかのスレッドを見ました。

私たちは機敏で迅速になりたいと考えています。一度は作りたい。テスト用のビルドとリリース用のビルドはありません。

以下を行う継続的なリリースプロセスをセットアップしました。

  1. Jenkins は、「サーバー」リポジトリで SCM の変更をチェックします (30 分ごと)。手動でトリガーすることもできます
  2. Jenkins は「サーバー」リポジトリを複製します
  3. Jenkins は pom でバージョンをインクリメントします (例: 1.0.1 -> 1.0.2)。スナップショットなし
  4. ビルド、パッケージ、自動展開、およびテストを開始する
  5. すべて問題なければ、変更された pom とタグをコミットし、「サーバー」リポジトリにプッシュ バックします (必要に応じてマージします)。
  6. 「リリース」システムに適切なバージョンをリリースし、QA でさらにテストできるようにします。
  7. 開発者は「サーバー」リポジトリから変更をプルバックし、新しいバージョンの poms を取得します

適切なリリースのためにホット フィックスが必要な場合

  • 開発者は、「サーバー」リポジトリから関連するタグを複製します
  • 修正を行い、「サーバー+修正」リポジトリにプッシュバックします
  • ジェンキンスは以前と同じようにビルドします
  • 良い場合、修正はメインの「サーバー」リポジトリにもプッシュされます

このプロセスは非常に迅速でクリーンであることがわかりました。

流れについてのご意見、改善案をお願いします。覚えておいてください -高速継続的ビルドは 1 回です。

前もって感謝します!

4

1 に答える 1

1

スナップショットなしルールに +1。私はそれがすべて良いと思います。

「リリース」システムに適切なバージョンをリリースし、QA でさらにテストできるようにします。

「リリース」システムとは何ですか。それはmavenリポジトリですか?新しいビルドは QA 環境に自動的にデプロイされますか? リポジトリからどのように取得しますか? dependency:getを使用して、maven リポジトリから jar をプルできます。ただし、展開側で Chef や Puppet などのインフラストラクチャ自動化ツールを利用したい場合は、rpm を Maven リポジトリに公開する方がよいでしょう ( maven-rpm-pluginを使用して公開し、 nexus-yum-plugin でプルを有効にします)。例) または単に独自のyum リポジトリを設定します。

于 2013-01-18T04:54:47.023 に答える