Jenkinsであるジョブの完了後に他のジョブにパラメータを渡して実行する
下記のような2つのジョブがある場合に、タグ作成のジョブが完了後にデプロイのジョブにタグ作成のジョブに指定したバージョンをパラメータに渡して実行したい。
- JenkinsのM2 Release Pluginを使って「web-1.0.0」というバージョンのタグを作成してVCSにコミット
- VCSから任意のバージョンをチェックアウトしステージング環境へデプロイする
Jenkins Parameterized Trigger plugin
こんなピンポイントなプラグインがあったので使ってみた。
- タグ作成のジョブ側の設定
インストールが完了すると、ジョブの設定の「前処理」と「後処理」のプルダウンで、「Trigger/call builds on other projects」というのが選択可能になる。
今回、このジョブが完了後にデプロイのジョブを実行したいので、「後処理の追加」から「Trigger/call builds on other projects」を選択する。
Projects to buildの欄に、デプロイのジョブを指定する。
次に、Add Parametersから「Predefined parameters」を選択し、tagという変数にデプロイするタグのバージョンを指定する。
- デプロイジョブ側の設定
デプロイジョブ側の設定はtagという変数でデプロイするタグをパラメータとして受け取る。
これで、タグを作成後にそのバージョンのタグをステージング環境へデプロイすることが出来た。