彼らの目的は何ですか?
開発者のマシンに負荷をかけ、安定した再現可能なビルド環境を提供します。
開発者がローカル マシンでプロジェクトをビルドしないのはなぜですか?
複雑なソフトウェアでは、「コンパイルする」だけで驚くほど多くのことがうまくいかない可能性があるからです。私が実際に遭遇した問題:
- さまざまな種類の依存関係チェックが不完全で、バイナリが更新されない。
- パブリッシュ コマンドがサイレント モードで失敗し、ログのエラー メッセージが無視されました。
- ソース管理にまだコミットされていないローカル ソースを含めてビルドします (幸いなことに、「いまいましい顧客」メッセージ ボックスはまだありません..)。
- 別のフォルダーからビルドして上記の問題を回避しようとすると、間違ったフォルダーからいくつかのファイルが選択されました。
- バイナリが集約されるターゲット フォルダには、リリースに含めるべきではない追加の古い開発者ファイルが含まれています
すべてのパブリック リリースは、ソース管理から空のフォルダーへの取得から始まるため、驚くほど安定性が向上しています。以前は、「Joe が新しい DLL をくれたときに解決した」「おかしな問題」がたくさんありました。
一部のプロジェクトは非常に大規模で、適切な時間内に構築するにはより強力なマシンが必要ですか?
「合理的」とは?ローカル マシンでバッチ ビルドを実行すると、できないことがたくさんあります。開発者にお金を払ってビルドを完了するのではなく、IT にお金を払って実際のビルド マシンを購入してください。
十分な規模のプロジェクトに取り組んでいないだけですか?
サイズは確かに 1 つの要因ですが、唯一の要因ではありません。