1. 概要
このチュートリアルでは、Jenkinsアーキテクチャの分散ビルドの概念について説明します。 さらに、Jenkinsマスタースレーブアーキテクチャを構成する方法を学習します。 さらに、Jenkinsマスターでパイプラインを構築して、スレーブノードでビルドジョブを実行します。
2. 分散ビルド
理想的には、標準のJenkinsをインストールするマシンがJenkinsマスターになります。 スレーブノードマシンに、Agentというランタイムプログラムをインストールします。 Agentのインストールは標準のJenkinsインストールではありませんが、このAgentはJVMで実行されます。 専用のエグゼキュータでJenkinsのサブタスクまたはメインタスクを実行するのに十分な能力があります。
任意の数のエージェントノードまたはスレーブノードを持つことができます。 さらに、マスターノードを構成して、どのタスクまたはジョブをどのエージェントで実行するか、および実行できるエグゼキューターエージェントの数を決定できます。 マスターノードとJenkinsスレーブノード間の通信は双方向であり、TCP /IPを介して行われます。
3. Jenkinsマスターノードとスレーブノードの構成
標準のJenkinsインストールにはJenkinsマスターが含まれており、このセットアップでは、マスターがビルドシステムのすべてのタスクを管理します 。多数のプロジェクトに取り組んでいる場合は、実行できますそれぞれに多数の仕事。 一部のプロジェクトでは特定のノードを使用する必要があるため、スレーブノードを使用する必要があります。
Jenkinsマスターは、ジョブのスケジューリング、スレーブノードの割り当て、および実行のためのビルドのスレーブノードへの送信を担当します。 また、スレーブノードの状態(オフラインまたはオンライン)を追跡し、スレーブノードからビルド結果を取得して、ターミナル出力に表示します。 ほとんどのインストールでは、複数のスレーブノードがジョブの構築タスクに割り当てられます。
始める前に、スレーブノードを追加するためのすべての前提条件が整っていることを再確認しましょう:
- Jenkinsサーバーが稼働しており、使用する準備ができています
- スレーブノード構成用の別のサーバー
- Jenkinsサーバーとスレーブサーバーは両方とも同じネットワークに接続されています
マスターサーバーを構成するには、Jenkinsサーバーにログインし、以下の手順に従います。
まず、「Jenkinsの管理->ノードの管理->新しいノード」に移動して新しいノードを作成します:
次の画面で、「ノード名」(slaveNode1)を入力し、「Permanent Agent」を選択して、「OK」をクリックします。
「OK」をクリックすると、新しいフォームが表示された画面が表示され、スレーブノードの情報を入力する必要があります。 W eはスレーブノードがLinuxオペレーティングシステムで実行されていると見なしているため、起動方法は「ssh経由でエージェントを起動する」に設定されています。
同様に、名前、説明、エグゼキュータの数など、関連する詳細を追加します。
「保存」ボタンを押して作業内容を保存します。 「slaveNode1」という名前の「Labels」は、このスレーブノードでジョブを設定するのに役立ちます。
4. スレーブノードでのプロジェクトの構築
マスターノードとスレーブノードの準備ができたので、スレーブノードでプロジェクトを構築する手順について説明します。
このために、ダッシュボードの左上隅にある「新規アイテム」をクリックすることから始めます。
次に、「アイテム名を入力してください」フィールドにプロジェクトの名前を入力し、「パイプラインプロジェクト」を選択して、「OK」ボタンをクリックする必要があります。
次の画面で、「説明」(オプション)を入力し、「パイプライン」セクションに移動します。 「定義」フィールドで「パイプラインスクリプト」オプションが選択されていることを確認してください。
この後、次の宣言型パイプラインスクリプトをコピーして「script」フィールドに貼り付けます。
node('slaveNode1'){
stage('Build') {
sh '''echo build steps'''
}
stage('Test') {
sh '''echo test steps'''
}
}
次に、「保存」ボタンをクリックします。 これにより、パイプラインビューページにリダイレクトされます。
左側のペインで、[今すぐビルド]ボタンをクリックしてパイプラインを実行します。 パイプラインの実行が完了すると、パイプラインビューが表示されます。
ビルド番号をクリックすると、ビルド履歴の下で実行されたビルドの履歴を確認できます。 上記のように、ビルド番号をクリックして「コンソール出力」を選択すると、パイプラインがslaveNode1マシンで実行されていることがわかります。
5. 結論
このチュートリアルでは、Jenkinsの分散ビルドとは何かについて説明し、Jenkinsマスターノードがスレーブノードを呼び出す方法を確認しました。 さらに、Jenkinsマスタースレーブ構成をセットアップする方法を学びました。 最後に、スレーブノードの構成をテストしました。