くりにっき

フルスタックキュアエンジニアです

Gitlab Merge Request Builder Pluginをv2.0.0に上げる場合には注意が必要

忙しい人のためのまとめ

v1とv2で設定ファイルに互換性がないので注意すべし

経緯

この辺

本家にissue投げたんですが中の人からの反応はありません。

github.com

本家から回答出てからブログを公開しようと思ったけどなかなか反応がないので先にブログを公開します

僕がissue投げた後に中の人がコミットをpushしてるから気づいてないはずないんだけどなぁ。。。

v1とv2で設定の互換性がない理由

上記issueにも書いてますが、インスタンス変数をリネームしてるのが原因です

https://github.com/timols/jenkins-gitlab-merge-request-builder-plugin/commit/7db92291400d6b0d94f29f6ccd1b63ddbae32b62#diff-2a2ae89bc4c1579a77be4e4d68f9fdb1L34

本人は軽いリファクタリングのつもりで _projectPathprojectPath にリネームしてるんだろうけど、Jenkinsはインスタンス変数を全部シリアライズしてxmlファイルで保存してるので、何も考えずにインスタンス変数を変えたりしたらプラグインアップデート直後に設定が全部吹っ飛びます(;´Д`)

やるのはいいんだけどせめてどっかに注意書きくらい書いてほしかった、というのが上記issueです。

あ、1系からアップデートせずにv2.0.0を新規にインストールする分には全く問題ないです

アップデート方法

アップデート前には Jenkins backup script でバックアップをとるなり、 JobConfigHistory Plugin から人力で設定を復旧する必要があります

v2.0.0の目玉機能

v2.0.0はcommit status APIに対応してるのでMR上にJenkinsのビルドの状態が出るという素晴らしい機能があるので使ってる人は早くアップデートした方がいいです

f:id:sue445:20160120231853p:plain