CI に Jenkins を使用し
ています。Jenkins の実行とタスクの構築にはそれぞれ専用のサーバーとスレーブが必要だと聞きましたが、
これは本当ですか?
サーバーはサーバー自体と実行中のビルド タスクを処理するのに十分なほど強力ではない可能性があるため、これは理解できますが、
これには定義された技術的な理由がありますか?
CI に Jenkins を使用し
ています。Jenkins の実行とタスクの構築にはそれぞれ専用のサーバーとスレーブが必要だと聞きましたが、
これは本当ですか?
サーバーはサーバー自体と実行中のビルド タスクを処理するのに十分なほど強力ではない可能性があるため、これは理解できますが、
これには定義された技術的な理由がありますか?
ベスト プラクティスは、Jenkins-Server 用に別のマシンを用意し、ビルドにはまったく使用しないこと
です。
これは、CPU パワーやメモリ リソースとは関係ありません -
ビルドマシンには事前定義された構成が必要で
あり、Jenkins はその一部であってはなりません。
(Jenkins の要件は、ビルド マシンの要件と競合することさえあります)
Jenkins に影響を与えることなく、ビルド マシンを起動/クローン/アップグレード/復元/破棄できるはずです。
もちろん、リソースが限られている場合は単一のマシンで解決できますが、
ビルドの自動化を真剣に考えている場合は、Jenkins に独自のサーバーが必要です。
実際の Jenkins プロセス (ビルドが実行されていない) はほとんどリソースを使用しないため、Jenkins サーバーを実行するための専用のハードウェア/VM はおそらく必要ありません。しかし、それはすべて、Jenkins セットアップで何を達成したいかによって異なります。
複数のプロジェクトの複数のプラットフォームで継続的なビルドを実行したいですか? その場合、マスターとスレーブを使用することが唯一の方法です。一方、少数のプロジェクトに対してかなり単純なビルドを実行している場合は、ビルドと Jenkins プロセスを実行するために必要なマシンは 1 台だけです。
複数のビルドを同時に実行するように Jenkins を構成できるため、クアッドコア マシンを使用している場合は、リソースの使用状況を分析したら、2 つのビルドと、場合によっては 3 つ目のビルドを安全に実行できます。
前回のギグでは、8GB RAM を搭載したクアッドコア マシンを使用して以下を実行しました。
そして、マシンにはまだ余裕がありました。