Jenkinsの管理画面からノードを追加することができますが、ノードが多いと追加が大変です。
Swarm Pluginというプラグインを使うと、ノードのマシンでコマンドを実行することでノード追加が可能になります。ノード追加コマンドをスクリプトで用意しておくことで、ノード追加の手間を減らすことができます。
ここでは、Swarm Plugin のインストール手順と、ノード追加のコマンドの例を説明します。
関連記事
Swarm Plugin のインストール
- 左メニューの[Jenkinsの管理]をクリックします。
- [プラグインの管理]をクリックします。
- [利用可能]タブをクリックします。
- 右上の[フィルター]に[swarm]と入力します。
リストの[名前]が[Self-Organizing Swarm Plug-in Modules]の[インストール]にチェックをいれ、[ダウンロードして再起動後にインストール]をクリックします。 - [インストール完了後、ジョブがなければJenkinsを再起動する]にチェックをいれます。
- 以下の画像のような表示になります。
Swarm Plugin のインストールは以上で完了です。
設定
- [Jenkinsの管理]をクリックします。
- [グローバルセキュリティの設定]をクリックします。
- [Agents]の[TCP port for JNLP agents]の設定を[無効]から[固定]に変更します。
[固定]の横には使用するポートを指定します。任意のポートを指定してください。
今回は[21000]を指定します。
設定後、[保存]をクリックします。
ノードの追加
- https://wiki.jenkins.io/display/JENKINS/Swarm+Plugin を開きます。
- [Usage]の 2. Download the CLI agent from here のリンクをクリックします。
- バージョン一覧が表示されます。Swarm Plugin と同じバージョンの swarm-client をダウンロードします。[3.13/]をクリックします。
- [swarm-client-3.13.jar]をクリックしダウンロードします。
- 以下のコマンドで jar に指定可能なオプションを確認することができます。
java -jar swarm-client-3.13.jar --help
以下の設定でノードを起動してみます。
オプション 設定 例で設定する値 master Jenkinsをブラウザで開くときのトップページのURL http://192.168.0.7:8080 name ノード名 node2 fsroot リモートFSルート $HOME/Jenkins-Swarm 起動するコマンドは以下の通りです。
java -jar swarm-client-3.13.jar -master http://192.168.0.7:8080 -name node2 -fsroot $HOME/Jenkins-Swarm -username [Jenkinsログイン時のユーザー名] -password [Jenkinsログイン時のパスワード]
正常に起動した場合は以下のようなログが最後に表示されます。
6 25, 2018 2:46:57 午前 hudson.remoting.jnlp.Main$CuiListener status 情報: Remote identity confirmed: 68:47:e7:3a:db:a0:92:9c:73:32:40:01:d1:2b:25:07 6 25, 2018 2:46:58 午前 hudson.remoting.jnlp.Main$CuiListener status 情報: Connected
Jenkinsトップページの左側の[ビルド実行状態]を確認すると、ノードが追加されていることが確認できます。