Help us understand the problem. What is going on with this article?

コマンドでjenkinsジョブの無効/有効を切り替え~jenkins cliコマンド一覧もあるよ!~

More than 3 years have passed since last update.

コマンドでjenkinsジョブの無効/有効を切り替え

コマンドライン上からjenkinsジョブの無効/有効を切り替えたかったためメモ。

jenkinsにはjenkins cliなるスクリプトから呼び出すためのcliクライアントが用意されているとのこと。

参考URL①(日本語版):https://wiki.jenkins-ci.org/display/JA/Jenkins+CLI
参考URL②(英語版) :https://wiki.jenkins-ci.org/display/JENKINS/Jenkins+CLI

cliの取得

まずはcliの取得から。
私はtrac lightningに付属されているjenkinsを使用しています。デフォルトの設定だとjenkinsのURLは「http://localhost/jenkins」です。
①を参考に「http://localhost/jenkins/cli」からjenkins.cli.jarを取得します。

jenkins cliのコマンド一覧

②を参考にコマンド一覧を取得。
私の環境だと下記のようになります。

java.exe -jar jenkins-cli.jar -s http://localhost/jenkins help

実行するとコマンドとその使い方の一覧を取得できます。
下記はコマンドjenkins-cliのコマンド一覧。

コマンド 内容
build ジョブをビルドします。オプションで完了するまで待ちます。
cancel-quiet-down "quite-down"コマンドの処理をキャンセルします。
clear-queue ビルドキューをクリアします。
connect-node ノードと再接続します。
console Retrievesconsoleoutputofabuild
create-job 標準入力をConfigXMLとして読み込み、ジョブを新規に作成します。
delete-builds ビルドを削除します。
delete-job ジョブを削除します。
delete-node ノードを削除します。
disable-job ジョブを無効化します。
disconnect-node ノードとの接続を切断します。
enable-job ジョブを有効化します。
get-job ジョブ定義XMLを標準出力に出力します。
groovy 指定したGroovyスクリプトを実行します。
groovysh 対話式のGroovyシェルを起動します。
help 利用可能なコマンドの一覧を表示します。
install-plugin ファイル、URLおよびアップデートセンターからプラグインをインストールします。
install-tool ツールの自動インストールを実行し、インストール先を表示します。
keep-build ビルドを保存するようにマークします。
list-changes 指定したビルドの変更履歴を表示します。
list-jobs 指定したビューかItemGroupのすべてのジョブを一覧表示します。
list-plugins インストール済みのプラグインを一覧表示します。
login 認証情報を保存して、認証情報なしにコマンドを実行できるようにします。
logout loginコマンドで保存した認証情報を削除します。
mail 標準入力の内容をメールとして送信します。
offline-node "online-node"コマンドが実行されるまで、ビルドを実行するノードの使用を一時的に停止します。
online-node 直前に実行した"online-node"コマンドを取り消し、ビルドを実行するノードの使用を再開します。
quiet-down Jenkinsは再起動に向けて終了処理を実施中です。ビルドを開始しないでください。
reload-configuration メモリにあるすべてのデータを破棄して、ファイルから再ロードします。設定ファイルを直接修正した場合に役に立ちます。
restart Jenkinsを再起動します。
safe-restart Jenkinsを安全に再起動します。
safe-shutdown Jenkinsを終了モードに変更しビルドが完了後に、シャットダウンします。
session-id OutputsthesessionID,whichchangeseverytimeJenkinsrestarts
set-build-display-name ビルドの名称を設定します。
set-build-result 現在のビルドの結果を設定します。ビルド中に呼び出された場合のみ動作します。
shutdown Jenkinsサーバーを直ちにシャットダウンします。
update-job 標準入力からの情報でジョブ定義XMLを更新します。get-jobコマンドの正反対のことを行います。
version バージョンを表示します。
wait-node-offline ノードがオフラインになるのを待ちます。
wait-node-online ノードがオンラインになるのを待ちます。
who-am-i 認証情報を表示します。

コマンドでjenkinsジョブの無効/有効を切り替え

プロジェクトのメンバが多い環境でjenkinsを業務に取り入れている場合、jenkinsジョブが実行しているスクリプトの更新作業は慎重に行う必要があるかと思います。さながらそれはリリース作業と同様といえるでしょう。

更新作業の流れはざっくりとしてますが下記のような流れになるかと思います。

1.スクリプト更新対象のjenkinsジョブを無効化
2.スクリプトを更新(svnからのエクスポート、gitからpullなど)
3.スクリプト更新対象のjenkinsジョブを無効化

コマンドは下記のとおりです。

ジョブの無効化

java.exe -jar jenkins-cli.jar -s http://localhost/jenkins disable-job "ジョブ名"

ジョブの有効化

java.exe -jar jenkins-cli.jar -s http://localhost/jenkins enable-job "ジョブ名"
areanoblog
はてなブログやってます。
http://anosonote.hatenablog.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away