Jenkins設定 · 1 min read · Dec 19, 2025
UbuntuでJenkinsマスターとスレーブを設定する方法

Jenkinsは、Hudsonプロジェクトからフォークされた自動化サーバーです。Git、SVN、Mercurialなど、多くのSCM(ソース管理)ソフトウェアシステムをサポートしています。Jenkinsは、プロジェクトを自動化するための数百のプラグインを提供します。Jenkinsはマスター/スレーブアーキテクチャをサポートしており、大量のプロジェクトビルドをホストできます。
Jenkinsの「マスター/スレーブ」はどのように機能するのか?
Jenkinsのマスター/スレーブアーキテクチャは、ビルドプロジェクトの負荷を複数のエージェントノードに分散させる分散ビルド環境で使用され、各ビルドに異なる環境を使用できます。
Jenkinsの「マスター/スレーブ」アーキテクチャでは、マスターは基本的なJenkinsインストールを表し、ビルドシステムのすべてのタスクを処理します。Jenkinsマスターノードは、ジョブのスケジューリング、スレーブノードの監視、スレーブノードへのビルドの配信、ビルド結果の記録と表示、ビルドジョブの直接実行に使用されます。
Jenkinsスレーブノードは、マスターからビルドプロジェクトをオフロードするために設定され、マスターとスレーブ間の確立された接続が必要です。Jenkinsスレーブノードは、WindowsやLinuxなどのさまざまなオペレーティングシステムで実行でき、完全なJenkinsパッケージをインストールする必要はありません。
このチュートリアルでは、最新のUbuntuバージョンを使用してJenkinsマスター-スレーブアーキテクチャを設定する方法を学びます。Jenkinsマスターサーバーを設定し、他のUbuntuノードをJenkinsスレーブとして追加する方法を学びます。
前提条件
- Ubuntuサーバー(Ubuntu 22.04 - Ubuntu 16.04) - マスター - 10.0.15.10
- スレーブ01 - 10.0.15.21
- スレーブ02 - 10.0.15.22
- ルート権限
何をするのか?
- Jenkinsマスターをインストール
- Jenkinsマスターの資格情報を設定
- スレーブエージェントノードを設定
- 新しいスレーブノードを追加
- ビルドを実行するためにスレーブエージェントノードを準備
- テスト
ステップ1 - Jenkinsマスターをインストール
このチュートリアルでは、基本的なJenkinsインストールについては説明しません。HowtoForgeのいくつかの記事でJenkinsのインストールがカバーされています。
- Ubuntu 16.04にJenkinsをインストール
- Ubuntu 18.04にJenkinsをインストール
- Ubuntu 20.04にJenkinsをインストール
- Ubuntu 22.04にJenkinsをインストール
- CentOS 7にJenkinsをインストール
以下は、Jenkinsがインストールされた私たちのUbuntuマスターサーバーです。

ステップ2 - Jenkinsマスターの資格情報を設定
マスターサーバーにJenkinsをインストールしたら、マスターサーバー自体を設定する必要があります。デフォルトでは、Jenkinsエージェントノードを起動する方法がいくつかあります。SSH、Windows管理アカウント、Java Web Start(JNLP)を介してエージェントノードを起動できます。環境設定とオペレーティングシステムに応じて最適な方法を選択してください。
このガイドでは、sshを介してエージェントノードを起動し、マスターサーバーにJenkinsの資格情報を設定する必要があります。
SSHキーを生成
エージェントノードを設定するためにsshキー認証を使用するので、Jenkinsユーザーのためにsshキーを生成し、次に「ssh-copy-id」を使用して各サーバーノードに手動でキーをアップロードする必要があります。
Jenkinsマスターサーバーにログインし、Jenkinsユーザーとしてsshキーを生成します。
su - jenkins
ssh-keygenこれにより、’.ssh’ディレクトリに’id_rsa’プライベートキーと’id_rsa.pub’パブリックキーが生成されます。

Jenkinsでの資格情報の設定
Jenkinsダッシュボードを開き、左側の「資格情報」メニューをクリックします。

そして「グローバル」ドメインリンクをクリックします。
次に「資格情報を追加」をクリックします。

次に認証方法を選択します。
- 種類: プライベートキーを持つSSHユーザー名
- スコープ: グローバル
- ユーザー名: jenkins
- プライベートキー: 直接入力し、マスターサーバーからJenkinsユーザーの’id_rsa’プライベートキーを貼り付けます。
「OK」をクリックします。

これで、ssh認証キー方式のJenkins資格情報が作成されました。

ステップ3 - スレーブノードを設定
次に、スレーブノードサーバーを設定し、これらのサーバーにJavaをインストールし、新しいJenkinsユーザーを作成します。
Javaをインストール
‘software-properties-common’パッケージをインストールし、Java PPAリポジトリを追加します。
sudo apt install software-properties-common apt-transport-https -y
sudo add-apt-repository ppa:openjdk-r/ppa -y次に、以下のaptコマンドを使用してJava OpenJDKをインストールします。
sudo apt install openjdk-8-jdk -yインストールが完了したら、インストールされたJavaのバージョンを確認します。
java -versionこれにより、システムにJava OpenJDK 1.8がインストールされます。
新しいJenkinsユーザーを追加
次に、すべてのエージェントノードに「Jenkins」ユーザーを追加します。
以下のコマンドを実行します。
useradd -m -s /bin/bash jenkins
passwd Jenkinsエージェントノード用の「Jenkins」ユーザーが作成されました。

マスターからスレーブへのSSHキーをコピー
次に、マスターからスレーブサーバーノードに’id_rsa.pub’キーをアップロードする必要があります。以下のように「ssh-copy-id」コマンドを使用して各サーバーノードにアップロードします。
ssh-copy-id [email protected]
ssh-copy-id [email protected]Jenkinsユーザーのパスワードを入力します。
sshキー’id_rsa.pub’がすべてのエージェントノードにアップロードされました。

ステップ4 - 新しいスレーブノードを追加
Jenkinsダッシュボードで、「Jenkinsの管理」メニューをクリックし、「ノードの管理」をクリックします。

「新しいノード」をクリックします。

ノード名’slave01’を入力し、「永続エージェント」を選択して「OK」をクリックします。

次に、ノード情報の詳細を入力します。
- 説明: slave01ノードエージェントサーバー
- リモートルートディレクトリ: /home/jenkins
- ラベル: slave01
- 起動方法: SSH経由でスレーブエージェントを起動、ホストIPアドレス’10.0.15.21’を入力し、’Jenkins’資格情報を使用して認証を選択します。

「保存」ボタンをクリックし、マスターサーバーがすべてのエージェントノードに接続し、エージェントサービスを起動するのを待ちます。
以下は、マスターサーバーがすべてのエージェントノードに接続されたときの結果です。

Jenkinsスレーブノードがマスターサーバーに追加されました。
ステップ5 - スレーブエージェントノードをビルド実行のために準備
このステップでは、Jenkinsマスターを設定してスレーブエージェントノードでビルドを実行します。
「Jenkinsの管理」メニューをクリックし、「システムの設定」をクリックします。

次に、「スレーブセットアップ」セクションに移動し、以下のように必要なすべてを定義します。

「スレーブセットアップ」についての詳細はリンクを参照してください。
「保存」ボタンをクリックし、これでスレーブエージェントノードでビルドを実行する準備が整いました。
ステップ6 - テスト
今、Jenkinsの新しいシンプルなビルドを作成し、’slave01’と’slave02’エージェントノードでビルドを実行したいと思います。
Jenkinsダッシュボードで、「新しいアイテム」メニューをクリックします。

アイテム名を入力し、フリースタイルプロジェクトを選択して「OK」をクリックします。

一般セクションで、ジョブの説明を入力し、「このプロジェクトを実行できる場所を制限する」オプションをチェックします。
「ラベル式」で、ノードを’slave01’として指定します。

ビルドセクションに移動し、「シェルを実行」オプションを選択し、以下のコマンドを入力します。
top -b -n 1 | head -n 10 && hostname「保存」ボタンをクリックすると、ジョブページにリダイレクトされます。

「今すぐビルド」をクリックしてプロジェクトをビルドし、「ビルド履歴」セクションのアイテムをクリックします。

以下は私の結果です。
‘slave01’エージェントノードでのビルド。

‘slave02’エージェントノードでのビルド。

Jenkinsマスター/スレーブアーキテクチャのインストールと設定、分散ビルドが成功裏に完了しました。
参考文献
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。