说明

之前我们搭建了Jenkins(戳->使用Jenkins部署K8s项目)进行CI/CD,但是还有一个问题,如果我们一直基于master分支进行开发,并且Jenkins构建也是由于master分支变化而进行CI/CD的话会导致发布变得非常的频繁,每一个人都有发布的权限也会导致项目非常不稳定,这个时候我们就需要设置Git分支、GitLab的用户权限和Jenkins的构建策略来综合调整CI/CD的整个过程了,下面提供一种一般项目的Git分支设计和Jenkins的构建策略

快速开始

目标

项目负责人(Owner)进行master merge后,触发Jenkins进行构建发布版本,其余人的push、merge不进行操作

Git分支设计

下面是一个Git分支模型,一般来说项目的master分支代表了线上发布的版本,dev分支则是我们日常的开发分支,feature分支用于开发新功能,hotfix分支紧急修复线上bug,最新的master节点表示最新的版本,并且master分支只进行merge操作且是由具有merge权限的人进行合并的(这一点可以通过GitLab的权限控制做到,例如Owner和Maintainer有权限merge master,Developer具有master以外分支的权限)

Webhook设置

勾选Push events和Merge request events

Jenkins设置

进过测试Accepted merge request events会产生一次push events,所以我们只勾选一个就可以了,防止多次构建

测试

Owner发起一次merge request,把dev合并到master,合并后会在Jenkins看到一次构建被触发了

Git分支设计与CI/CD相关推荐

  1. CI/CD——构建企业级Docker+Jenkins+Git+Harbor流水线自动化持续集成持续发布平台

    构建企业级Docker+Jenkins+Git+Harbor流水线自动化持续集成持续发布平台 CI/CD是什么? 持续集成(CI)/持续交付(CD)的优势 自动化部署流程图 Git Github Gi ...

  2. 前端项目中的CI/CD实践(自动化部署)

    前言 前置知识 Linux Docker Nginx Github 可以干嘛 作为一套面向开发和运维团队的解决方案,CI/CD 主要解决集成新代码和向用户频繁交付应用的问题. 更直接地说,就是可以解放 ...

  3. git(gitlab)子模块功能在团队协同开发和生产环境中的应用(git,gitlab,TortoiseGit,CI/CD,Jenkins,docker-compose,分支合并,开发环境,测试环境)

    git(gitlab)子模块功能在团队协同开发和生产环境中的应用 目录 git(gitlab)子模块功能在团队协同开发和生产环境中的应用 一.前言 二.先决条件 三.创建gitlab项目(项目管理员操 ...

  4. Jenkins 流水线 获取git 分支列表_CI/CD 工具选型:Jenkins 还是 GitLab CI/CD?

    原标题:CI/CD 工具选型:Jenkins 还是 GitLab CI/CD? 作者 | Rahul Jain 策划 | 田晓旭 近十年来,持续集成(Continuous Integration,CI ...

  5. 纯 Git 实现前端 CI/CD

    作者:杨成功 来源:SegmentFault 思否社区 最近要高效的把前端 react 项目部署到私有服务器上,研究了好几种持续部署方案,这里简单描述一下. 总的部署思路分两种: 编译后的文件部署 源 ...

  6. 如何能在git bash中使用mvn命令_使用Github Actions完成CI/CD工作

    在本文中,我们将介绍如何使用 Github Actions 自动化开发部署工作流,使版本控制和 CI/CD 平台在同一个地方完成. 自2019年开始,github便提供了CI/CD工具,对于publi ...

  7. git原理详解与实操指南_基于dockercompose的Gitlab CI/CD实践amp;排坑指南

    长话短说 经过长时间实操验证,终于完成基于Gitlab的CI/CD实践,本次实践的坑位很多, 实操过程尽量接近最佳实践(不做hack, 不做骚操作),记录下来加深理解. 看过博客园<docker ...

  8. CI/CD之搭建私有git仓库gitlab

    私有仓库Gitlab Gitlab简介 CI/CD 安装Gitlab Gitlab使用 Gitlab简介 GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭建起 ...

  9. 基于OpenStack+Docker设计与实现CI/CD

    本文所述内容的背景是,基于Docker容器技术的OpenStack研发.测试.运维及其相关的CI/CD.DevOps等活动.思想是相通的,读者可以取其可用部分用于自己的业务需求中. IaaS云和容器云 ...

  10. 一些后端开发术语(设计/开发/通信/故障/监控/服务治理/测试/发布部署/环境/CI/CD)

    工欲善其事,必先利其器:士欲宣其义,必先读其书. 一. 系统开发 1.1 高内聚/低耦合 高内聚指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则.模块的内聚反映模块内部 ...

最新文章

  1. 规格选项表管理之更新规格选项表数据
  2. python加上子类的特性_Python--面向对象三大特性
  3. php执行rsync,使用rsync工具构建php项目管理平台,rsync项目管理
  4. IDEA mybatis-generator 逆向工程
  5. 第十六章、Raid及mdadm命令
  6. mysql提高缓存_合理配置MySQL缓存 提高缓存命中率
  7. Oracle RAC 修改 IP 地址
  8. 爬坑系列----Redis查询key报空指针异常,而redis中确实存在该key
  9. 【损失函数】一文弄懂各种loss function
  10. 6*6数独,要求输出结果
  11. js距离单位换算_在线单位换算器
  12. 经纬财富:宜昌炒白银和炒黄金有什么不同?
  13. 医疗保险,公积金、养老、生育、工伤、失业保险
  14. 笔记本损耗60 计算机提示,笔记本电脑电池损耗,详细教您笔记本电脑电池损耗怎么修复...
  15. 【数据】【自动化交易】Python获取中国股市行情和指数
  16. excel合并两列内容_合并多个Excel文件内容到一个Excel中
  17. UIAppearance定制UI元素
  18. Rosalind Java|Inferring mRNA from Protein
  19. 你是多卓越,才配得上深圳这座城市?
  20. 字蛛fontSpider的使用

热门文章

  1. 五月天,十年;五件事,十首歌
  2. 2018-2019的裁员风波(程序员要有危机意识,程序员堪比娱乐圈,更新换代快)
  3. 舱机器人尾巴毛茸茸_这个毛茸茸的机器人不仅可撸,还会摇尾巴
  4. 解决com.lowagie.text.DocumentException: Font 'STSong-Light' with 'UniGB-UCS2-H' is not recognized.
  5. gopher协议利用
  6. 谷歌邮箱无法显示使用 Base64 处理的图片的正确解决方法
  7. 如何用计算机发匿名短信,电脑如何给手机发信息_电脑匿名给手机发短信
  8. 微博热搜榜html源码,几行代码完成微博热搜榜爬虫
  9. 关于word无法创建工作文件,请检查临时环境变量(本人已解决)
  10. php-fpm的安装和启动