仮想マシンにビルド サーバーを配置した方が良いですか? VM にビルド サーバーを配置するメリットは、コストを上回りますか?
5 に答える
仮想環境でビルド サーバーを実行する利点のいくつかを次に示します。
複数のビルド サーバーで 1 つの高速ボックスを共有します。たとえば、ビルド サーバーが 6 つあるとします。非常に高速な (4 CPU、64 ~ 128 GB の RAM、非常に高速なハード ドライブなど) マシンを 1 台まとめて、その上でハイパーバイザーを実行します。これで、他のビルド サーバーが実行していないときにビルドを実行している場合、すべてのビルド サーバーがこのより高速なハードウェアにアクセスできます。ビルド スケジュールを設定すると、より高速なビルドを実行できるようになります。物理的なボックスを使用する必要がある場合、個々のビルド サーバーでその品質レベルのハードウェアを使用する余裕はおそらくありませんが、共有すると簡単に正当化できます。
ボックスに障害が発生した場合のダウンタイムはありません。ハードウェアに問題が発生したときに本番ビルドがクラッシュして停止するのではなく、別の仮想化ホストでビルド サーバーを起動するだけです。(これは、共有ストレージを使用している場合にのみうまく機能します。)
簡単なハードウェア アップグレード- 新しいビルド サーバーの場合、煩わしい OS の再インストールは必要ありません。ゲスト OS を新しい物理ホストに移動するだけで、レースに参加できます。
いつものように、それは依存します...
同じサーバー上で他のVMが実行されていて、それらの他のVMが、実行中のビルドによって発生するときどきの速度低下を処理できると仮定すると、「はい」と言えます。ただし、単一のビルドサーバーVMを単一のホストでホストする場合、または他のVMが時折実行されるビルドによって悪影響を受ける場合は、いいえ。
私が働いている場所では、ほとんどのビルドサーバーをVMWareでホストするように切り替えました。週に5つ以上の製品ラインでいくつかのビルドを実行しているため、それらすべてを1台の高速マシンでホストすることは理にかなっています。また、テストマシンの大部分を同じサーバーでホストしているため、マシンを有効に活用できます。また、本番サーバーが実行されていないため、ビルド中に発生する速度低下は問題になりません。
ビルド サーバーは、非常に一貫した方法で構築する必要があるものです。ビルド サーバーを作成するには、十分に文書化され、完全に再現可能なレシピが必要です。
ただし、ビルド サーバーはそれほどパフォーマンスが重要というわけではありません。少なくとも、運用システムのパフォーマンスにとって重要ではないため、VM にビルド サーバーを配置することもできます。
ハードウェアとソフトウェアの互換性に依存しない必要がある場合、VM を使用することは実際には非常に良い考えです。ご希望のハードウェア ベンダーが、新しいマシンでのビルド サーバーに必要な OS バージョンのサポートを停止し、古いビルド サーバーの保証が期限切れになる場合があります。これにより、その OS でビルドを実行できなくなる可能性があります。
その後、中古の交換品を求めて eBay をトロールするか、ベンダーの古いキットの在庫を買い取るか、サポートされていない危険なソフトウェア ハックを行うかのいずれかに直面することになります。(注:これはほとんど私たちに起こりました、そして私たちはこれらのいくつかを少ししました)
VMが仮想サーバーであるボックス上にない限り、メリットはありません。
ビルド サーバーに VM を使用することの長所と短所は、他のサービスに VM を使用する場合と同じです。
この質問は、メール サーバーや wiki サーバーなどに VM を使用する場合にも当てはまります。
(これをコメントとして投稿したところですが、まだ担当者がいません)