私の場合は(社内サポートCBシステム構築/設計/)、自動的にCBをキュー与えられたCBの設定によってターゲットツリーのVCSにコミット要求(CBが実行されている間に到着する複数の要求は、現在のCBプロセスが完了すると直ちに実行される1つに縮小されます)。
各CBインスタンスは、CBの要求に応答して、構成されたビルドとテストのステップを実行し(すべてのCBインストーラが共有する分散型サーバーの「クラウド」と並行してファームウェアを構築します)、ビルドとテストの結果をログに記録します時には頻繁に実行される可能性のある「重いテスト」(CB要求をブロックしないように設定された頻度より頻繁には設定された頻度よりも頻繁に実行される)それに対して彼らは走った)。
CBによって追跡されたツリーの一部ではない依存関係のために、 "head to"が他のVCSの "trunk"になる "sync to head"(これらは軽量で、非常に明示的な統合要求(他の極端な場合、生産上重要なビルド/プロジェクトの「リリースブランチ」の場合)または中程度の許容範囲でのみ実行できます。
リリースエンジニアリングプラクティスの頂点ではないと思いますが、さまざまなオプションの中で、非常に多様な重要性、依存性重さ、&c ;-)の非常に多様なプロジェクトでうまくいきます。
ご覧ください。http://stackoverflow.com/questions/102902/what-is-a-good-ci-build -process – Shog9
@ Shog9:あなたが参照している質問は、より抽象的なレベル(私は* meta *と言っていますか?)でCIを議論していますが、この質問は具体的な実装の詳細を求めています。私は彼らがこれを開いたままにするのに十分に異なると思う。 – Treb