gitlab api 从v3升级之后jenkins gitlab plugin 的问题
2019年初发生的,还是来记录一下。主要是因为gitlab升级之后,旧版的v3 api已经被移除,所以导致jenkins gitlab plugin无法使用。
起因
原本的jenkins (v 2.51, 安装在macos)上头的gitlab plugin 是旧版本,和gitlab 之间原本相安无事。某日因为gitlab upgrade后,原本旧有的v3 api就淘汰了,只剩下v4 api,但因为jenkins 也很久没更新,所以gitlab plugin 只能support v3 api,于是jenkins就喷error 无法作用。然后因为一进jenkins 就只有error message (因为绑gitlab 帐号),所以想要更新plugin 也没办法。
理论上应该在升级gitlab 之前要先把jenkins 的gitlab plugin 升级,然后才进行gitlab 升级,才可以无痛接轨。但因为没注意到这件事情所以一整个烂掉。
处理& 新问题
好,那就尝试把gitlab 升级之前的image restore 回来。先把jenkins 的gitlab plugin 升级再重新做一次gitlab 升级。结果居然plugin 升级就烂掉了…
检查config.xml档案有存在,同时存取权限也没有问题。
解决方式
在网路上找了一下发现,原本装在jenkins上头的gitlab plugin 是v1.4.x,得要升级到v1.5.x才可以支援gitlab v4 api。但是v1.5.x plugin 必须要jenkins v2.73以上才能正常运作,偏偏使用中的是v2.51,所以…。然后很糟糕的是,在jenkins plugin 的页面上查到的说明,gitlab plugin说只要jenkins 1.6 以上就可以用=_=
所以接下来就是gitlab原本已经升级的就不用更动,先把jenkins 的config.xml 搬走备份起来,当作jenkins 全脱plugin,然后升级jenkins 到v2.73以上,然后先例马装好gitlab plugin v1.5.x,然后把备份的config.xml merge回去(只有gitlab plugin相关的会有问题需要注意)就结束了。
Original link: Phanix's Blog
喜欢我的作品吗?别忘了给予支持与赞赏,让我知道在创作的路上有你陪伴,一起延续这份热忱!