大規模な (1 ~ 2MLOC) ソフトウェア開発プロジェクト向けの継続的なビルド製品に関する推奨事項が必要です。特徴:
- ClearCase リビジョン管理
- 約 80% C++; 15% ジャワ; 5% スクリプトまたは低レベル
- Green Hills Integrity OS 用にコンパイルしますが、一部のウィンドウと JVM チャンクもコンパイルします
- ほとんどが組み込みシステムです。いくつかの UI 部分といくつかの開発サポート (シミュレーション ツール、構成ツールなど) も含まれています。
- 成果物の概念上の各「バージョン」には、多数のボード、UI マシンなどの展開イメージが含まれています (最大 10 の個別のイメージ、5 つの個別のオペレーティング システム)。
- 特に、さまざまな異なるボード サポート パッケージ用に構築された多数の同時バージョンを維持/追跡する必要がある
- ビルド サイクル タイムはプロジェクトの主要な問題であり、これに対処するのに役立つ機能のサポートが必要です (ほとんどの場合、ビルド マシンの大規模なファームを管理する必要があると思います..)
- セキュリティで保護された環境で動作します (これは政府のプログラムです) (追加するために編集: これは機密プログラムです。ビルド インフラストラクチャのアウトソーシングは開始できません。)
あなたが提供する可能性のあるベスト プラクティスまたは周辺のガイダンスに関心があります。ビルドの自動化の問題は、プログラムに欠けているように見えるいくつかの重複するベスト プラクティスの 1 つですが、ビルド インフラストラクチャの部分と直接関連する観察に焦点を当てた回答を維持するようにしてください。
コストは重要な問題ではありません。スケーラビリティと既存のインフラストラクチャへの改造の容易さが重要です。
(@Dan のコメントに対処するために編集されました。;-)