ムーチョのメモ帳

Jenkinsスレーブの作成と設定

※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

Jenkinsのスレーブを立てます。


マスターサービスと同じJNLPスレーブ

マスターサービスが走っているマシンと同じマシン上にJNLPスレーブを立てる。
Windowsサービスからだと、GUIを持つような対話プログラムが正常に動作しないため。

JNLPスレーブの作成と設定

Jenkinsの管理>ノードの管理>新規ノードの作成
ノード名を記入し、ダムスレーブを選択してOK

  • 同時ビルド数
2~4あたりで適当で良いと思われ。
  • リモートFSルート
「スレーブが走るマシン」上の適当なワークディレクトリを指定。
  • ラベル
空欄でもいいし、適当に。
複数指定したい場合は空白文字区切りで。

これで「保存」ボタンを押して、作成完了。

スレーブの起動

ブラウザからLaunchボタンを押して起動もできるが、自動化したいのでコマンドラインから。
このとき、hostsファイルの設定で紹介していることをしていないと、起動に失敗する可能性が高いので注意。

javaws http://TestServer:8888/jenkins/SlaveName/File=slave-agent.jnlp
で起動できる。
おじ様のいる小さなウィンドウが出てきて、Connectedとあれば正常。

バッチファイル化する。

jenkinsSlaveJNLPBoot.batというバッチファイルを作成するとする。
以下のような感じで作成。
スレーブ名は「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分ほどを設定してあげる。
これで無事に自動起動できるようになる。


他のマシンのスレーブ

他のマシンにスレーブを立てて、クラスター化する。
Windowsの場合は、JNLPスレーブを立てるのが一番無難かと。
やり方は↑のと同様。
違うのは、自動起動は、スタートアップフォルダでも問題ない可能性が高い点ぐらい。

更新履歴

取得中です。