Selenium RCの起動をWindowsのバッチファイルにして、Jenkinsから起動したら、
Firefoxを立ち上げたところで処理が止まってしまう。
> 05:55:02.690 INFO - Preparing Firefox profile
> 05:55:04.964 INFO - Launching Firefox
> 05:55:06.985 INFO - Checking Resource aliases
Jenkinsを介さずに、Windowsのコマンドプロンプトからならば、
処理が停滞しないので、さらにわけが分からない。
どうやら、Jenkinsからではインターネットにアクセスできないようだ。
処理が停滞するのは、URLのopenがタイムアイトしているから。
JenkinsはWindowsのサービスとして起動している。
そして、Windowsのサービスからインターネットにアクセスしようとして、
ファイアウォールに引っかかっているようだ(という推測)。
[コントロールパネル]>[管理ツール]>[サービス]
からJenkinsのプロパティを開いて、
[ログオン]タブの『デスクトップとの対話をサービスに許可』
を選択すると、サービスが起動している画面に移動でき、
停滞している画面を見ることができる。
画像なくなりました
メッセージの表示を選択すれば、Firefoxが停滞している様子が見える。
この課題を解決するには、ネットワーク設定をいじる必要がありそうだけれど、
よくわからなかった。
Slaveノードを作成して、Windowsサービスとして登録せずに起動する
自分がたどりついた方法は、Slaveノードを作成して、
そいつはWindowsサービスとしては登録しないまま、ネットにアクセスさせる方法。
まずは、
[Jenkinsの管理] > [ノードの管理]> [新規ノードの作成]からノード作成。
このとき、
詳しくは参考ページを参照。
Jenkinsスレーブの作成と設定 -ムーチョのメモ帳 https://wiki.jenkins-ci.org/display/JA/Step+by+step+guide+to+set+up+master+and+slave+machines
作成したノードをブラウザ上から立ちあげると、こんな窓が出てくる。
画像なくなりました
この状態で、Seleniumパッチを実行すると、問題なくネットへアクセスできた。
JenkinsをWindowsサービスとして立ちあげない
昨日のエントリの続き。
寝て起きたら、もっとカンタンな(当たり前な?)方法を思いついた。
JenkinsがWindowsのスタートアップでサービスとして起動することが問題なので、
サービスを無効にしてしまえばよい。
[コントロールパネル]>[管理ツール]>[サービス]
からJenkinsのプロパティを開いて、サービスを停止する。
停止したら、コマンドラインから、Jenkinsを手動で立ち上げなおす。
cd “C:\xxxxxx\Jenkins”
java -jar jankins.war
すると、しばらくしてJenkinsがWindowsのサービスとしてではなく
立ちあがるので、この状態ならばネットにつなげた。