はじめに
こんにちはSREエンジニアのMakiです。
この記事では定番CI/CDツールJenkinsの起動、停止、再起動の方法について紹介します。
Jenkinsの停止、起動、再起動ってあまりやることではないと思うのでやり方を忘れがちだと思います。また、やり方も何通りかあってどういうときにどういう操作を行えばいいのかわからなくなりませんか?
この記事ではこういったJenkinsの起動、停止、再起動のやり方を整理しました。
Jenkinsの操作に悩んでいるという方、ぜひこちらの記事をご覧ください。
Jenkins の起動、停止、再起動方法まとめ
Jenkinsの起動、停止、再起動の方法は次のパターンに分類されます。
- Jenkins 環境での操作
- linux やWindows にインストールされているJenkinsを直接操作します。
- Jenkins 画面での操作
- Jenkinsにログインして操作を行います。
- Jenkins のリモート操作
- APIやCLIを通じてリモートから操作します。
また、Jenkinsの停止、再起動を行う際の動作は複数のモードがあります。
これらの情報についてまとめていきます。
停止、再起動のモード
Jenkinsの停止、再起動を行う際のモードは全部で6種類あります。
-
exit (shutdown)
Jenkins の停止を行います。 -
safeExit (safeShutdown)
JenkinsをQuietモードにして、既存のビルドが完了するのを待ってから、Jenkinsをシャットダウンします。 -
quietDown
再起動に備えてJenkinsをQuietモードにします。このモードではJenkinsはビルドを開始しません。 -
cancelQuietDown
「quietDown」をキャンセルします。 -
restart
Jenkins の再起動を実行します。 -
safeRestart
JenkinsをQuietモードにして,既存のビルドが完了するのを待ってから,Jenkinsを再起動する。
起動、停止、再起動の実行パターン
Jenkins 環境での操作
Unix-based 環境の場合
ubuntuやFedoraなどの環境の場合は以下やり方で操作を行えます。
ここで説明する操作はJenkinsを強制的
に停止、起動、再起動させたい場合に使います。
もし、現在実行中のJenkinsジョブが完了するのを待ちたい場合は後述するURLやAPIからquietDown
または safeRestart
を実行するようにしましょう。
- stop
$ sudo systemctl stop jenkins.service
- start
$ sudo systemctl start jenkins.service
- restart
$ sudo systemctl restart jenkins.service
Windows 環境の場合
もし、JenkinsをWindowsサーバーにセットアップしている場合は2通りのやり方があります。
- Jenkins をWindowsのサービスに登録している場合はそこで操作可能です。
- コマンドから操作することもでき、次のコマンドで操作できます。
- stop
$ C:\Program Files (x86)\Jenkins>jenkins.exe stop
- start
$ C:\Program Files (x86)\Jenkins>jenkins.exe start
- restart
$ C:\Program Files (x86)\Jenkins>jenkins.exe restart
Jenkins 画面での操作
Jenkinsに管理者でログインしURLを叩くことで停止や再起動を行うことができます。
-
exit
http://<jenkins.server>/exit
-
safe exit
http://<jenkins.server>/safeExit
-
quiet down
http://<jenkins.server>/quietDown
-
cancel quiet down
http://<jenkins.server>/cancelQuietDown
-
restart
http://<jenkins.server>/restart
-
safe restart
http://<jenkins.server>/safeRestart
停止・起動中の画面
URLを開くと上記のような画面が開くので`はい を押すとJenkinsに処理のリクエストが投げられます。
上記のような画面が開く場合はRetry using Post
を押すとJenkinsに処理のリクエストが投げられます。
シャットダウン時は画面上にこのように表示されます。
再起動実行後はしばらくこの画面で待機してください。
再起動完了後に画面が再読み込みされます。
Jenkins のリモート操作
RemoteAPI (wget)
wget コマンドを使って停止する場合は以下のようになります。
- exit
$ wget --user=<user> --password=<password> http://<jenkins.server>/exit
- safe exit
$ wget --user=<user> --password=<password> http://<jenkins.server>/safeExit
- quiet down
$ wget --user=<user> --password=<password> http://<jenkins.server>/quietDown
- cancel quiet down
$ wget --user=<user> --password=<password> http://<jenkins.server>/cancelQuietDown
- restart
$ wget --user=<user> --password=<password> http://<jenkins.server>/restart
- safe restart
$ wget --user=<user> --password=<password> http://<jenkins.server>/safeRestart
RemoteAPI (curl)
cURLコマンドを使って停止する場合は以下のようになります。
-
exit
$ curl -X POST -u <user>:<password> http://<jenkins.server>/exit
-
safe exit
$ curl -X POST -u <user>:<password> http://<jenkins.server>/safeExit
-
quiet down
$ curl -X POST -u <user>:<password> http://<jenkins.server>/quietDown
-
cancel quiet down
$ curl -X POST -u <user>:<password> http://<jenkins.server>/cancelQuietDown
-
restart
$ curl -X POST -u <user>:<password> http://<jenkins.server>/restart
-
safe restart
$ curl -X POST -u <user>:<password> http://<jenkins.server>/safeRestart
Jenkins CLI
Jenkins CLI をつかても同様のことが行えます。
-
exit
$ java -jar jenkins-cli.jar -s http://<jenkins-server>/ shutdown
-
safe exit
$ java -jar jenkins-cli.jar -s http://<jenkins-server>/ safe-shutdown
-
quiet down
$ java -jar jenkins-cli.jar -s http://<jenkins-server>/ quiet-down
-
cancel quiet down
$ java -jar jenkins-cli.jar -s http://<jenkins-server>/ cancel-quiet-down
-
restart
$ java -jar jenkins-cli.jar -s http://<jenkins-server>/ restart
-
safe restart
$ java -jar jenkins-cli.jar -s http://<jenkins-server>/ safe-restart
こちらにはMacOX X環境や、TomcatにJenkinsをデプロイしてる場合の手順も記載されています。
まとめ
いかがでしたでしょうか。改めて内容をまとめます。
Jenkinsの起動、停止、再起動の方法は次のパターンに分類されます。
- Jenkins 環境での操作
- linux やWindows にインストールされているJenkinsを直接操作します。
- Jenkins 画面での操作
- Jenkinsにログインして操作を行います。
- Jenkins のリモート操作
- APIやCLIを通じてリモートから操作します。
また、Jenkinsの停止、再起動を行う際の動作は通常モードとsafeモードがあるので状況によって使い分けましょう。
参考ページ
- How to Start, Stop or Restart your Instance?
Just a moment...
おすすめ書籍
[改訂第3版]Jenkins実践入門 ――ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus)
コメント