CI/CD技术专题「Jenkins实战系列」重塑Jenkins服务进行自动合并的方案实现(纠正错误)

Posted 洛神灬殇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CI/CD技术专题「Jenkins实战系列」重塑Jenkins服务进行自动合并的方案实现(纠正错误)相关的知识,希望对你有一定的参考价值。

前言介绍

本篇文章主要针对于之前的Jenkins在构建分支的时候,进行自动合并其他分支的纠正和专题介绍,如果想要了解更多的说明,可以参考一下官方文档:
Jenkins的Git合并官方介绍(英文版)
【Jenkins官方Git插件介绍分析】

合并实现方案一:

例如:Jenkins 配置自动合并release分支到 master 分支

  1. 本案例介绍如何在Jenkins配置合并到release的内容自动合并到gitlab的master分支。

  2. 首先需要两个仓库,一个是 gitlab 的仓库,另一个是 Jenkins 的服务。

  3. Branches to build添加分支,如果需要将release分支合并master,所以就填写release就可以。

Additional Behaviours 添加三个值,一个是 Clean before checkout 这样可以清空仓库,第二个是 Prune stale remote-tracking branches 让本地和远程同步

  1. Merge before build 请看图片,设置仓库是哪个,设置推送的分支。
  • 为了在用户推送的时候合并,就需要在 Build Triggers 添加 Build when a change is pushed to GitLab. 这样就可以添加 web hook 在打钩之后可以看到下面有一个链接,如下面是我的链接,这个链接会在之后设置到 gitlab 所以暂时需要记下。

  • 这里可以通过很多个设置,在 Push Events 执行这个仓库或者在 Accepted Merge Request Events 执行,可以全部打钩。

下面就是 Build 这里可以写编译的内容,我下面执行了一些代码

  • 只有在编译成功我才可以让 release 合并到 master 分支,如果编译不成功就不能合并

  • 在 Post-build Actions 添加 Git Publisher 功能,第一个是 Push Only If Build Succeeds 也就是在上面的 Build 编译成功之后才会执行。

  • 点击 Add Branch 添加一个新的合并分支,需要从 release 合并到 master 就可以和我下面一样写,如果是从 release 合并到 dev 分支就自己在下面写 dev 就可以

填写之后需要勾选 Push events 这样有人上传就可以自动合并 release到master 而不需要自己手动合并

在添加之后可以看到有 Test 按钮,点击可以模拟一个 push 的测试

合并实现方案二:

有一个更好的方案

jenkins构建之前如何自动合并git分支,我有2个构建,用于分支主和生产当我做生产构建时,我想做git merge origin / master,这是Jenkins最新的 Git Plugin支持的。只需在作业配置中的Git的高级设置下将 “Checkout / merge to local branch” 设置为“production”。

看一下这个:

https://wiki.jenkins-ci.org/display/JENKINS/Git+Plugin#GitPlugin-AdvancedFeatures

以上是关于CI/CD技术专题「Jenkins实战系列」重塑Jenkins服务进行自动合并的方案实现(纠正错误)的主要内容,如果未能解决你的问题,请参考以下文章

CI/CD技术专题「Jenkins实战系列」总结归纳Jenkins的安装使用和配置流程介绍

CI/CD技术专题「Jenkins实战系列」jenkins+pipeline构建自动化部署

CI/CD技术专题「Jenkins实战系列」总结归纳Jenkins的安装使用和配置流程介绍

CI/CD技术专题「Jenkins实战系列」jenkins+pipeline构建自动化部署

CI/CD技术专题「Jenkins实战系列」Jenkinsfile+DockerFile实现自动部署

CI/CD技术专题「Jenkins实战系列」如何通过Gitlab对接Jenkins构建提交自动触发部署构建体系指南(上部)