Jenkins管道:仅在管道成功时才接受合并请求

时间:2020-10-01 20:58:18

标签: jenkins continuous-integration gitlab jenkins-pipeline

不幸的是,尽管存在大量相关问题,但到目前为止,没有给出一个可接受的答案。

场景:

合并请求触发Jenkins管道作业(通过gitlab webhooks完成)

未知区域:

Jenkins管道必须在本地本地合并(执行)合并请求,执行构建,测试,集成测试,声纳分析等,并且只有在所有合并成功的情况下,才能推送合并分支。

我们非常感谢您的帮助!

谢谢!

1 个答案:

答案 0 :(得分:0)

我将根据我在jenkins和GitLab上的经验给出答案。

创建合并时,将创建一个临时分支,因此您可以运行编译并在该分支上进行测试。这是通过Webhook完成的,因此,每次创建合并请求时,它将在jenkins上运行作业。

在这项工作中,我在帖子部分中补充说,只有在成功构建后,您才需要调用GitLab的API来接受合并请求,如您在此处的文档所示:

https://docs.gitlab.com/ee/api/merge_requests.html

您可以使用更适合您的方法进行此调用,以创建请求并将请求发送到Web服务器。