スレーブは良く使っているので、自分の確認のため返信させていただきます。
----
> jenkinsから他のマシンに対してジョブをリモートで実行させたい場合、必ずリモート先のマシンには、スレーブ・エージェントをインストールするしかないのでしょうか?
(1) マスタ・スレーブ構成の場合は、スレーブ側にJenkinsマスタとのやりとりを行うためのjarファイルが必要になります。
スレーブエージェントは、javaのプログラムなので、さらにスレーブ側にjavaの実行環境も必要です。
(2) ただ、『他のマシンに対してジョブをリモートで実行させたい場合』という意味では、マスタ・スレーブ構成を取らなくても実行できます。
この場合は、「マスタ」ノードのジョブとして、リモートサーバに実行させたいコマンドを、SSHを介して実行させる、という形になります。
exp.
%master ssh ho...@slave.server ls -l
実際に、私の環境でも、Javaをはじめソフトを自由にインストールできないサーバに対しては、この方法を取ります。
(1)と(2)では、Workspaceがどこにできるかというのも大きく違います。
実行させるコマンドがすくなく、ロギングがきちんとできれば良いのであれば、(2)の方法もあるかと思います。(検討済みでしたらごめんなさい)
==================
> スレーブ・エージェントは、常にリモート先のマシンでデーモンのように常駐しているものなのでしょうか?それとも、ジョブが実行されるときだけ、起動されるものなのでしょうか?
スレーブエージェントは、プルダウンでの選択に書いてあるとおり、いろんなパターンが取れます。
『SSH経由でUnixマシンのスレーブ・エージェントを起動』であれば、マスタがスレーブに対して仕事をさせたいときに、下記の手順でスレーブを起動させます。
---
1. sshコマンドでスレーブ(リモートサーバ)に、jarファイルを転送。
2. sshコマンドでスレーブ(リモートサーバ)上の、jarファイルを実行。
(ここまでの操作h、マスタがスレーブに対してエージェント上げてね!という作業)
3. リモートサーバのjava jenkins-slave.jar が起動し、こんどはスレーブ側からマスタにつな
ぎ、マスタからの命令を待ちうける状態になる。
---
3のあと、これもスレーブノードの設定で『すぐに切る』『そのまま通信を継続させておく』といった選択ができます。
用がおわったらすぐに接続を切った後、スレーブの出番が来たら、再度1~3の手順でエージェントを起動しなおします。
起動し直すと、それだけすこし時間がかかります。
コマンドの実行のタイミングに精確さを要求するなら、
a. 一旦エージェントが起動したら、『通信をそのままにしておく』
b. スレーブ起動のコマンドを、リモートサーバ(スレーブ側)のinitファイルに設定して、サービスとして上げておく
という方法があります。
#絵があれば判りやすいかもしれません。。。すみません。
認識間違いや、今はもっと凄い(便利な) ことになっているよ、という情報があれば、みなさまご指摘下さい。
2012年4月14日4:54 八文字健太郎 <yatsu...@gmail.com>:
> 共有の開発機(HP-UX)のため、自由にソフトウェアをインストールする事ができません。
> jenkinsからその開発機でのコンパイルを実行したいのですが、「SSH経由でUnixマシンのスレーブ・エージェントを起動」を選択した場合、
> その開発機にスレーブ・エージェントが自動でインストールされてしまいます。
>
> そこで、質問があります。
手短に
1、インストールについて
必須ではありません。ただ、インストールしてある方が起動しなくていいので楽なのと
環境によってインストールできる物に制限がある場合があります。
インストールしない場合はノードの設定の「起動方法」で「JLNP経由での起動」を選択して
「リモートFSルート」をスレーブコマンドを実行するユーザーで書き込みができる場所を指定する必要があります。
その後、
javaws http://(サーバーアドレス):8080/computer/(ノード名)/slave-agent.jnlp
もしくは
java -jar slave.jar -jnlpUrl
http://(サーバーアドレス):8080/computer/(ノード名)/slave-agent.jnlp
のコマンドをスレーブにするマシンから実行すればいいです。
2、どちらでも可能ですがジョブの実行時のみ動作させる場合マスタから起動できる必要があるのでJLNPではできないと思いますがよく分かりません。
参考になるかわかりませんがよろしくお願いします。
2012年4月14日6:56 Akiko Takano <akiko...@gmail.com>:
--
- 末広 尚義
- twitter @bols_blue
- mail bols...@lnc.jp
- blog http://d.hatena.ne.jp/bols-blue/