具体的工具部署以及任务配置、流水线触发等流程不在此赘述,网上可以搜索大量相关文档,在此只总结个别问题。
问题现象:按照常规配置指导,新增了gitlab的webhook,已可以正常触发jenkins任务;之后想新增流水线构建结果回传至gitlib功能,确保与merge-request的piplines must succeed选项交互,以完成整个merge-request的强制拦截功能,但增加后置publish build status to gitlab任务后,触发流水线失败,Jenkins显示报错如下:
解决方案:经过分析定位(结合webhook中显示错误码为500),最终确认原因为配置webhook时引入了流水线工程内置选项中的API-token,导致增加结果回传时权限受阻,进而报错,故此需要修改webhook配置,引入jenkins用户的API-token替换之前工程内置的secret token,具体格式如下:
http://user:token@jenkins-url