Jenkins の起動・停止・再起動チートシート

SRE

はじめに

こんにちは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通りのやり方があります。

  1. Jenkins をWindowsのサービスに登録している場合はそこで操作可能です。
  2. コマンドから操作することもでき、次のコマンドで操作できます。
  • 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
停止・起動中の画面

enter image description here
URLを開くと上記のような画面が開くので`はい を押すとJenkinsに処理のリクエストが投げられます。

enter image description here

上記のような画面が開く場合はRetry using Post を押すとJenkinsに処理のリクエストが投げられます。

enter image description here

シャットダウン時は画面上にこのように表示されます。

enter image description here

再起動実行後はしばらくこの画面で待機してください。
再起動完了後に画面が再読み込みされます。

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モードがあるので状況によって使い分けましょう。

参考ページ

おすすめ書籍


[改訂第3版]Jenkins実践入門 ――ビルド・テスト・デプロイを自動化する技術 (WEB+DB PRESS plus)


サーバ/インフラエンジニアの基本がこれ1冊でしっかり身につく本

コメント

タイトルとURLをコピーしました