1

Perforce と Maven を使用しており、成熟したプロジェクトをホストする 1 つのブランチ A と、最初のブランチでホストされているコードを使用する開発を開始している別のブランチ B がある状況にあります。

今後、ブランチ A へのチェックインがブランチ B でのコンパイルに失敗するケースが発生する可能性があると予想しています。これは、それらに取り組んでいる開発者が特定の使用法や相互依存関係を認識していないためです。そして、開発者は B コードの更新に時間を浪費し、それがコンパイルされていないと判断します。

ブランチ/プロジェクト A は、別の将来のプロジェクトでコードが使用される可能性があるため、独自の別個のエンティティとして残す必要があります。

誰かがそのような問題の処理と軽減について私にアドバイスできますか? 皆さんが提案できるベストプラクティスはありますか? とても有難い。

4

1 に答える 1

2

ビルド環境をセットアップする必要があります。

1) Jenkins などの継続的インテグレーション (CI) サーバーをセットアップします。開発者がブランチ A にコミットすると、コミットが検出され、ビルドがトリガーされます。

2) ブランチ A がビルドを完了すると、アーティファクトを共有リポジトリにデプロイします。ブランチ A のビルドを Nexus などのリポジトリ サーバーにデプロイすることを強くお勧めします (購入は必須ではありません) (ただし、ソース管理のリポジトリまたはFTP サーバーもその役割を果たします)。

3) CI サーバーでブランチ B をセットアップしますが、ブランチ A のビルドが成功するたびに実行されるビルド「トリガー」を使用します。

4) ビルドが失敗するたびに、関連するチーム メンバー (または全員?) に電子メールを送信するように、両方のビルド構成を構成します。

また、両方のブランチは、上記の #2 のリポジトリに依存する必要があります。環境全体を再現可能で自己完結型にする必要がある場合は、repository-in-scm ルートに進みます。

于 2013-05-20T03:03:39.950 に答える