首页 > 解决方案 > Gitlab中用于合并请求的Jenkins管道

问题描述

我最近开始使用 Jenkins,我需要一些帮助来创建管道。

我想创建以下管道:对于 Gitlab 中从开发到主控的每个合并请求,触发一个运行端到端测试的 Jenkins 作业,并且只有在测试成功时才在 Gitlab 中合并分支。

我发现以下文章可以解释我需要的大部分内容: https ://vetlugin.wordpress.com/2017/01/31/guide-jenkins-pipeline-merge-requests/

我仍在寻找一个问题的答案:Jenkins如何以端到端测试的结果(成功/失败)响应Gitlab,所以Gitlab会知道是否合并到分支?

请指教,谢谢!

标签: jenkinsgitlabjenkins-pipeline

解决方案


你没有告诉我们 Gitlab 和 Jenkins 是如何连接的,但我假设你使用 Jenkins Gitlab 插件https://github.com/jenkinsci/gitlab-plugin。如果你不是,也许你应该:)

使用此插件,您可以更深入地“集成” Jenkins 和 Gitlab,并且您的 Jenkins 构建会将构建结果发送回 Gitlab。您将看到类似https://raw.githubusercontent.com/teeks99/gitlab-plugin-wiki-images/master/Setup_Example_img/Result_commit.png的内容。构建结果标记在已测试的提交附近。

在这种情况下,对于每个合并请求,您可以检查“如果构建成功则合并”按钮(请参阅https://raw.githubusercontent.com/teeks99/gitlab-plugin-wiki-images/master/Setup_Example_img/Merge_progress.png)构建成功时自动合并代码。

查看 Jenkins Gitlab 插件 README 以获取更多信息和高级设置,例如在您的构建中测试合并的结果等。


推荐阅读