承認ワークフロー等を作るときにはJenkins2のPipeline(旧Workflow Plugin)を使いますが、ここではワークフローではなく通常のジョブを作る際の設定についてのメモを記載していきます。
全体的なメモ
-
Windows版はユーザーに注意
Linuxの場合はシェルスクリプトからユーザーを変更するのは楽ですが、Windowsの場合は管理ツールのサービスのJenkinsのプロパティのログオンタブからユーザーを設定する必要があります。これを行わないと権限で怒られたりします。 -
WindowsバッチのPAUSE
ビルドのWindowsバッチからPAUSEの入っているバッチを実行するとPAUSEは無視されます。
groovyからバッチを呼び出すとPAUSEは無視されません。(groovyからだとずっと止まるので注意) -
ジョブのAPIが便利
JENKINS_URL/JOB_NAME/BUILD_NUMBER/api/json -
safeRestartが便利
JENKINS_URL/safeRestart
Pluginメモ
-
Role Strategy Plugin
https://wiki.jenkins.io/display/JENKINS/Role+Strategy+Plugin
ユーザー毎に使用できる機能やviewを制限するために使用します。(設定はJenkinsの管理画面) -
Build Blocker Plugin
https://wiki.jenkins.io/display/JENKINS/Build+Blocker+Plugin
競合するジョブがある場合に、競合するジョブが同時に実行されないように制限するために使用します。(設定は各ジョブの設定画面) -
Build Pipeline Plugin
https://wiki.jenkins.io/display/JENKINS/Build+Pipeline+Plugin
Aジョブ⇒Bジョブ⇒Cジョブといったようにジョブを順序付けて実行するものを作ると現在の状況が分かりにくくなるために視覚的にわかりやすくVIEW表示するために使用します。(設定はVIEWの設定画面)(例:使用ブランチ設定ジョブ⇒ビルドジョブ⇒テストジョブ⇒デプロイジョブ) -
Groovy plugin
https://wiki.jenkins.io/display/JENKINS/Groovy+plugin
windowsバッチやshellだけでは遠回りな実装になってしまったり実装できない場合のためのスクリプトとして使用します。(設定はJenkinsの管理画面のシステム設定しておき、各ジョブのビルドの設定でgroovyを使うドロップダウンで使用 ※その際はsystemのgroovyと間違わないようにする・使用するgroovyのバージョンを忘れずに選択する) -
Groovy Postbuild Plugin
https://wiki.jenkins.io/display/JENKINS/Groovy+Postbuild+Plugin
ビルド後にビルドの設定のdescription等を設定することでビルド履歴から何のパラメータを渡したビルドなのか等がわかるようにするためにしようします。manager.buildで直接オブジェクトに触れるので便利です。(設定は各ジョブの設定画面 ビルド後の処理)
http://javadoc.jenkins-ci.org/hudson/model/Build.html
例)ビルドパラメーター(例 BUILD_PARAMETER)をビルド履歴に表示
def buildParameter = manager.build.buildVariables.get("BUILD_PARAMETER")
manager.build.setDescription(buildParameter)
-
Text-finder Plugin
https://wiki.jenkins.io/display/JENKINS/Text-finder+Plugin
コンソール等から文字列を検索しその結果からビルド結果を操作するために使用します。
ビルドでバッチやshellの結果等で既に結果が確定している場合に結果を操作できない場合がありました。その場合はビルドはgroovyで行いgroovyからバッチを実行して、失敗してもSystem.exit(1)
等で結果を確定しない(バッチの実行結果は無視する)でおけば、Text-finder Pluginで結果の操作は可能でした。
(設定は各ジョブの設定画面 ビルド後の処理) -
Monitoring
https://wiki.jenkins.io/display/JENKINS/Monitoring
JVMの情報等を確認するために使用します。
(確認はJenkinsの管理画面) -
Simple Theme Plugin
https://wiki.jenkins.io/display/JENKINS/Simple+Theme+Plugin
cssやjsで画面のカスタマイズを行う際に使用します。
userContentフォルダにcssやjsを置いておき、Jenkins管理画面のThemeのcssとjsの設定欄で/userContent/hoge.css
や/userContent/fuga.js
等の設定をすることで読み込ませることが出来ます。 -
テスト系プラグイン
https://wiki.jenkins.io/display/JENKINS/JUnit+Plugin
https://wiki.jenkins.io/display/JENKINS/NUnit+Plugin
https://wiki.jenkins.io/display/JENKINS/Clover+PHP+Plugin
テスト結果を見やすく表示するために使用します。(言語にあったものを選択)(設定は各ジョブの設定画面 ビルド後の処理)
Groovyメモ
- Groovyでビルドパメータを取得
System.getenv("パラメータ名")
- Groovyからコマンド実行(windows linux)
// stdout.txtに標準出力し実行結果を取得
def resultCode = 'cmd /c コマンド > stdout.txt'.execute().waitFor()
// 標準出力をそのままコンソールに出す
println 'cmd /c コマンド'.execute().text
- Groovyからビルドを終了させる
System.exit(0)
System.exit(1)