jenkins - Gitlab中用于合并请求的Jenkins管道
问题描述
我最近开始使用 Jenkins,我需要一些帮助来创建管道。
我想创建以下管道:对于 Gitlab 中从开发到主控的每个合并请求,触发一个运行端到端测试的 Jenkins 作业,并且只有在测试成功时才在 Gitlab 中合并分支。
我发现以下文章可以解释我需要的大部分内容: https ://vetlugin.wordpress.com/2017/01/31/guide-jenkins-pipeline-merge-requests/
我仍在寻找一个问题的答案:Jenkins如何以端到端测试的结果(成功/失败)响应Gitlab,所以Gitlab会知道是否合并到分支?
请指教,谢谢!
解决方案
你没有告诉我们 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 以获取更多信息和高级设置,例如在您的构建中测试合并的结果等。
推荐阅读
- python - Python / numpy:删除3D数组的空(零)边框
- dart - VSCode Dart 导入快捷方式
- javascript - 如何在表单数据中附加布尔类型值?
- laravel - 如何通过邮件方法将数据从 ajax 传输到 laravel 5.2 控制器
- javascript - 如何在没有语法错误的情况下获取 $object[""0""].projhours 的目录。AngularJS
- jquery - 无法读取未定义的属性“列”
- c# - 如何为 Oracle Connect By Query 制作 IQueryable 扩展
- angular - 如何在不刷新角度页面的情况下先加载css
- javascript - 如何使用 Jquery/Javascript 仅启用日期选择器中的某些特定日期
- python - python脚本的多处理