Jenkins

コマンドで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 "ジョブ名"