ムーチョのメモ帳
Jenkinsスレーブの作成と設定
最終更新:
mucho_note
-
view
Jenkinsのスレーブを立てます。
マスターサービスと同じJNLPスレーブ
マスターサービスが走っているマシンと同じマシン上にJNLPスレーブを立てる。
Windowsサービスからだと、GUIを持つような対話プログラムが正常に動作しないため。
Windowsサービスからだと、GUIを持つような対話プログラムが正常に動作しないため。
JNLPスレーブの作成と設定
Jenkinsの管理>ノードの管理>新規ノードの作成
ノード名を記入し、ダムスレーブを選択してOK
ノード名を記入し、ダムスレーブを選択してOK
- 同時ビルド数
2~4あたりで適当で良いと思われ。
- リモートFSルート
「スレーブが走るマシン」上の適当なワークディレクトリを指定。
- ラベル
空欄でもいいし、適当に。
複数指定したい場合は空白文字区切りで。
複数指定したい場合は空白文字区切りで。
これで「保存」ボタンを押して、作成完了。
スレーブの起動
ブラウザからLaunchボタンを押して起動もできるが、自動化したいのでコマンドラインから。
このとき、hostsファイルの設定で紹介していることをしていないと、起動に失敗する可能性が高いので注意。
このとき、hostsファイルの設定で紹介していることをしていないと、起動に失敗する可能性が高いので注意。
javaws http://TestServer:8888/jenkins/SlaveName/File=slave-agent.jnlp
で起動できる。
おじ様のいる小さなウィンドウが出てきて、Connectedとあれば正常。
おじ様のいる小さなウィンドウが出てきて、Connectedとあれば正常。
バッチファイル化する。
jenkinsSlaveJNLPBoot.batというバッチファイルを作成するとする。
以下のような感じで作成。
スレーブ名は「MasterSlaveJNLP」で作成したものとする。
以下のような感じで作成。
スレーブ名は「MasterSlaveJNLP」で作成したものとする。
:: jenkinsのインストールディレクトリを指定 set BASE=C:\Jenkins set JENKINS_HOME=%BASE% set JavaExe=%BASE%\jre\bin\javaws.exe call %JavaExe% http://TestServer:8888/jenkins/MasterSlaveJNLP/File=slave-agent.jnlp
このバッチをスレーブを起動するマシン上で叩いてスレーブが起動すればOK
自動起動
自動起動させるためにスタートアップフォルダに、このバッチファイルのショートカットを放り込む。
が、
これは、サーバーマシンを自動ログイン設定していると、マスターサービスが起動しきる前にスレーブを起動しようとして失敗するという問題がある。
これを回避するために、タスクスケジューラに登録して、タイミングをスタートアップにする代わりに、遅延起動に1分ほどを設定してあげる。
これで無事に自動起動できるようになる。
が、
これは、サーバーマシンを自動ログイン設定していると、マスターサービスが起動しきる前にスレーブを起動しようとして失敗するという問題がある。
これを回避するために、タスクスケジューラに登録して、タイミングをスタートアップにする代わりに、遅延起動に1分ほどを設定してあげる。
これで無事に自動起動できるようになる。
他のマシンのスレーブ
他のマシンにスレーブを立てて、クラスター化する。
Windowsの場合は、JNLPスレーブを立てるのが一番無難かと。
やり方は↑のと同様。
違うのは、自動起動は、スタートアップフォルダでも問題ない可能性が高い点ぐらい。
Windowsの場合は、JNLPスレーブを立てるのが一番無難かと。
やり方は↑のと同様。
違うのは、自動起動は、スタートアップフォルダでも問題ない可能性が高い点ぐらい。