4

次のような非常に基本的なソース ツリー構造が与えられます。

トランク -------
   QA |--------
     ステージ |------
        製品 |------

そして、それを反映する環境 (開発、QA、ステージング、および運用サーバー) - 自動または手動のコード プロモーションをどのように管理していますか? CI サーバーを使用して、すべての段階でビルドとプロモーションを行っていますか? 全体で使用されるバイナリをビルドするための Dev の CI? 他のハイブリッド?

私はいくつかの考えを蹴散らしてきました。1 つ目は、各プロモーションが最新のものを取得してビルドし、ビルドの出力を正しいサーバーにプッシュすることです。2 つ目は、ある時点 (QA またはステージング) で、プロモートされたバイナリが他のステージにコピーされたものとまったく同じになることです。3 つ目は、展開されたバイナリのセカンダリ ソース ツリーを維持することです。これは、コードのプロモーションに合わせて自動的に移動します。他に考えやアイデアはありますか?

4

2 に答える 2

4

製品コードが QA テスト済みのものと同一ではないという可能性は絶対に避けたいので、バイナリを使用する必要があります。

また、各ビルドの作成に使用されるソースにタグを付けて、必要に応じて開発環境でビルドを再現できるようにする必要があります。少なくともこの時点で間違いを犯したとしても、結果はそれほど劇的ではありません.

于 2008-09-30T04:17:46.847 に答える
1

開発段階では CI を活用し、昇格したデイリー ビルドを使用しています。これらの毎日のビルドは、成功した場合、SVN でタグ付けされるため、バイナリの別のコピーを保持する必要はありません。タグがコンパイルされたものの正確なソース コピーになるように、参照されているサード パーティのライブラリも含まれています。

于 2008-09-30T04:19:59.870 に答える