Jenkinsおすすめプラグイン一覧
注意事項:
コード例は、scripted Pipelineとdecralative Pipelineの表記が混ざったりします。
List Git Branch Plugin
gitのブランチリストを取得してきてくれる。
gitのチェックアウトをするわけではない。
CopyArtifact Plugin
他のジョブの成果物をコピーしたりする。
超多用。寧ろ必須。
App Center Plugin
ios/android向けのアプリをアップロードしたりするとき使う。
App Center CLIより細かいことはできない。
手軽にアップロードするなら便利。
Simple Theme Plugin
jenkinsの色変更とかCSS参照するとき、とりあえず入れとかないとダメ系。
Timestamper Plugin
見づらいコンソール出力画面に時間を入れる
ただし、pipelineのみにいれられるようになるので注意。
Build TimeStamper Plugin
BUILD_TIMESTAMPとかで変数が取れる。
DATEの形式を変更することで新たに変数宣言も可能。
参考:https://stackoverflow.com/questions/24226862/how-to-get-build-time-stamp-from-jenkins-build-variables
ThinBackup Plugin
バックアップをフルで取れたり、いつとるかなど設定。
ファイルのフィルタが可能。
Job Configuration History Plugin
jenkinsの設定変更や差分が見れる。
ローカル保存などの指定も可能。
Pipeline Configuration History Plugin
もっとpipelineのスクリプトの差分チェックに特化したPlugin
便利。
Pipeline Utility Steps Plugin
ZIP化してくれる。
ついでに成果物保存もしてくれる。
yamlも簡単に読める。
yamlファイルも簡単に読める。
pipeline {
agent {
node {
label 'lsrv9557.linux.rabobank.nl'
customWorkspace '/appl/jenkins/workdir'
datas = readYaml file: "manifest.yml"
}
}
Rebuilder Plugin
同じジョブを再度回したいときとかに有用。超便利。
パラメーターも編集してからリビルドできる。
Build Trigger Badge Plugin
ビルドを誰が回したのか自動実行か、等見れる
Build user vars Plugin
BUILD_USERでユーザー名の情報が取れる。
Blue Ocean Plugin
なんだかおしゃれにGUIでぽちぽちパイプラインが作れる。
細かい設定は、従来のページで編集。
Confluence Publisher Plugin
コンフルエンスと連携して、artifactをアップロードしたり、ページ編集したりできる。
アカウント登録は、jenkinsの管理で登録。
space名/ページ名などを入力。
https://confluenceのページ/display/Space名/Page名 みたいな感じ。
大変有用だが、アップロードした時に、コメントが勝手に入るのがウザイ。
(消せないのかな)
Log Parser Plugin
ログの出力が黒一色で見づらいな、というときに、
error/info/warningなどカテゴリごとに分類可能。
そのカテゴリごとに、クリックするとコンソールの文章にも一っ飛び。
正規表現で分類する。
パイプラインだとたまに動かない場合があるっぽい。
txtでルール定義、一行ずつ記載。
error /(?i)^error: /
warning /warning: /
info /\[Pipeline\] /
info /\-\-\-/
みたいな感じで書く。javaの正規表現を使う。だいぶみやすくなる。
disk usage Plugin
jenkinsマシンの大体の容量確認が可能。
フリースタイルジョブの場合だけ現状使える。
credentials binding Plugin
マシン依存のパスワードだったり、ユーザーID/PWを**** でjenkinsジョブのログで表示するためのもの
withCredentials([usernameColonPassword(credentialsId: 'mylogin', variable: 'USERPASS')]) {
sh '''
set +x
curl -u "$USERPASS" https://private.server/ > output
'''
}
withCredentials([string(credentialsId: 'mytoken', variable: 'TOKEN')]) {
sh '''
set +x
curl -H "Token: $TOKEN" https://some.api/
'''
}
monitoring plugin
jenkinsのマシンの体調管理。メモリ使用量等。
Google Play Android Publisher
Androidのアプリ、aabをgoogle play consoleの内部テストにアップロードする方法。
動画でやり方が載っている。
google play console側の設定が若干ややこしい。
jenkins側は、google play consoleから発行されたp12 keyを読み込んだりするだけ。
あとはpipelineであげるコード書くだけ。
aabの容量は150MB以上超えるとあげられなくなるという注意書きがある。
(実質200MBぐらいまで許容だが、データ整理は適宜必要)
androidApkUpload filesPattern: output_dir + "/" + app_name +".aab",
googleCredentialsId: "googlePlayCredentialsId",
recentChangeList: [
[
language: 'ja-JP',
text: 'テキスト'
]
],
releaseName: versionName,
rolloutPercentage: '0',
trackName: 'internal'
Parameterized Trigger Plugin
環境変数のエキスポートができる。
ssh agent plugin
git pushをする時にtokenをわざわざマシンに入れたくない時に使う。
tokenなんか入れたくない・・というめんどくささの回避。
※ gitは、pullなりcheckoutはpipelineのpluginが充実しているが、pushだったり、commitするのにsh()を使わないと現状できないというもどかしさがついて回る。
withCredentials([gitUsernamePassword(credentialsId: 'gitCredentialsId',
gitToolName: 'git-tool')]) {
sh 'git push -u origin master'
}
Slack Notification Plugin
今のご時世超絶必須なPluginのことを忘れてました。
いろんな通知をSlackに流すためのプラグインです。
Botを使うことで通知アイコンを変更したり、通知の見た目も色々変えることができ有用です。
Slackのpythonとか全部いらない。
見た目のやり方についてはどこかで書く。
基本はこんな感じの使い方。
メンションだってできる。@つけたりしてね。
slackSend channel: failed_notify_channels,
message: notify_message,
color: "danger"
Jenkins Configuration as Code Plugin
Jenkinsの設定をコード化できる。
有用そう(だが使ったことはない)
きっと有用そう(使ってみようかと思う)
Login Page Theme Plugin
ログインアイコンを変えたりできる。