Gitlab 中用于合并请求的 Jenkins 管道

Omr*_*mri 5 jenkins gitlab jenkins-pipeline

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

我想创建以下管道:对于 Gitlab 中从 develop 到 master 的每个合并请求,触发运行端到端测试的 Jenkins 作业,并且仅当测试成功时才合并 Gitlab 中的分支。

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

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

请指教,谢谢!

dak*_*aks 6

您没有告诉我们 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 插件自述文件以获取更多信息和高级设置,例如在您的构建中测试合并结果等。