Jenkinが終了できない場合の対処
Jenkinsを使っていてすんなりシャットダウンができたことが少なく、よく「シャットダウン中です」の状態から進まない。調べても、検索仕方がわるいのかシャットダウンが終わらない系のものが少ない。
なぜJenkinsはうまいことシャットダウンができないのか…。
この記事ではコマンドで強制的に停止、起動をするやり方を書く。
Macでのやり方
最初にやり方を書いておく。詳しいやり方は後ろの方に書く。
Homebrewの場合
すでにJenkinsが起動しているのなら、ターミナルで、
# jenkinsのジョブ名を見つける launchctl list | grep jenkins => 20522 - homebrew.mxcl.jenkins # ジョブの停止 launchctl stop homebrew.mxcl.jenkins # ジョブの起動 launchctl start homebrew.mxcl.jenkins
これで大丈夫のはず。
load, unloadでやる場合
# 自動起動の無効とJenkinsの停止 launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist # 自動起動の有効とJenkinsの起動 launchctl load ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
詳しいやり方
Homebrewの場合
Homebrewからインストールしている場合、brew list jenkinsでどこにどんなファイルがあるかがわかる。
$ brew list jenkins /usr/local/Cellar/jenkins/1.574/homebrew.mxcl.jenkins.plist /usr/local/Cellar/jenkins/1.574/libexec* (3 files)
この、homebrew.mxcl.jenkins.plistがJenkinsを実行するための設定ファイルみたいなものである。plistファイルを使用してlaunchdがJenkinsをサービスとして起動している。すでに登録されている場合は
launchctl list | grep jenkins # => 20522 - homebrew.mxcl.jenkins
で見つかる。この、homebrew.mxcl.jenkins.plistは
/Library/LaunchAgents/ ~/Library/LaunchAgents/
のどっちかに入ってる。ここを参考にした人は~/Library/LaunchAgents/に入ってると思う。
起動、停止コマンド
homebrew.mxcl.jenkins、org.jenkins-ci.plistという名前がわかっていれば停止、起動コマンドが使える。普通にインストールしていればこのコマンドで事足りるはず。
# ジョブの停止 launchctl stop homebrew.mxcl.jenkins # ジョブの起動 launchctl start homebrew.mxcl.jenkins
こうすることでJenkinsを強制的に再起動させることができる。
load, unloadでやる場合
load, unloadでも停止、起動をすることができる。その場合、どこにファイルがあるかを把握する必要がある。
Jenkinsのplistの場所は、大体ここらへんに入ってるはず。
/Library/LaunchAgents/ /Library/LaunchDaemons/
ここ を参考にした人は
~/Library/LaunchAgents/ に入ってるはず。
自動起動の無効、Jenkinsを起動している場合は停止する launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist 自動起動の有効、Jenkinsを起動している場合は起動させる launchctl load ~/Library/LaunchAgents/homebrew.mxcl.jenkins.plist
これでJenkinsの強制再起動をすることができる。
まとめるのが意外と大変だったので、今回はここまで。
参考
Jenkinsのセットアップ - smallplaceの日記
「個人メモ」mac + jenkins の 設定変更と再起動
OS XにJenkinsをHomebrewでセットアップする - Qiita
command line - Start/Stop and Restart Jenkins service on Windows - Stack Overflow
How to restart Jenkins manually? - Stack Overflow
http://tech.hazi.jp/2012-08/13/
壊れかけらぁの日常: Jenkinsとvimenvで最新版のVimを自動で手に入れよう
Jenkinsをインストールして使ってみよう[Mac/Linux/Windows] - Build Insider
Starting and Accessing Jenkins - 日本語 - Jenkins Wiki
Thanks for using OSX Installer - Jenkins - Jenkins Wiki
整理されてないので整理が必要。