Compile farm とは

コンパイルファームは、さまざまな理由でリモートからコンピュータプログラムをコンパイルするように設定された、1つまたは複数のサーバーの集合であるサーバーファームです。コンパイルファームの用途は次のとおりです。
 クロスプラットフォーム開発:複数のプロセッサアーキテクチャとオペレーティングシステム上で動作するソフトウェアを作成する場合、開発者ごとにアーキテクチャごとに独自のマシンを持たせることは不可能です。たとえば、1つのプラットフォームには高価なCPUがあります。このシナリオでは、コンパイルファームは、開発者がターゲットオペレーティングシステムとCPUを実行している共有サーバー上でソフトウェアをビルドしてテストするためのツールとして役立ちます。クロスコンパイラはしばしば構成が複雑であり、場合によってはコンパイルがターゲット上でのみ可能であり、クロスコンパイルが不可能なため、コンパイルファームはクロスコンパイルよりも望ましい場合があります。クロスプラットフォームの継続的な統合テスト:このシナリオでは、各サーバーは異なるプロセッサアーキテクチャを備えているか、異なるオペレーティングシステムを実行しています。スクリプトは自動的にバージョン管理リポジトリから最新のバージョンのソースツリーを構築します。クロスプラットフォーム開発の難しさの1つは、プログラマーが間違って、使用しているCPU / OSプラットフォームと異なるCPU / OSプラットフォーム上でソフトウェアの機能を停止させるエラーを引き起こす可能性があることです。クロスプラットフォームのコンパイルファームを使用することによって、そのようなエラーを特定して修正することができます。分散コンパイル:ソフトウェアパッケージを構築するには、通常、並列に実行できる操作(たとえば、個々のソースコードファイルのコンパイル)が必要です。コンパイルファームを使用することにより、これらの操作を別々のマシン上で並列に実行できます。これを行うために使用できるプログラムの例はdistccです。
コンパイルファームの1つの例は、2006年までSourceForgeによって提供されたサービスでした。SourceForgeコンパイルファームは、さまざまなオペレーティングシステムを実行するさまざまなコンピュータアーキテクチャの12台のマシンで構成されていました。プラットフォームを公開する前に電力スパイクがいくつかのマシンを破壊した後、2006年にある程度稼動しなくなり、2007年2月に正式に廃止されました。
その他の例は次のとおりです。
 GCCコンパイルファームhttps://gcc.gnu.org/wiki/CompileFarm OpenSUSEビルドサービスFreeBSDは、パッケージメンテナが様々なバージョンとアーキテクチャで独自の変更をテストできるようにするサービスをレポートします。 Launchpad Build Farm https://launchpad.net/builders Mozillaにはビルドファームがありますが、公開されていませんhttps://wiki.mozilla.org/ReleaseEngineering Debianにはビルドファームhttps://buildd.debian.org/があります