Loading [MathJax]/jax/output/CommonHTML/config.js
部署DeepSeek模型,进群交流最in玩法!
立即加群
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Gitlab Flow到容器(上)

Gitlab Flow到容器(上)

原创
作者头像
陈不成i
修改于 2021-06-07 09:45:39
修改于 2021-06-07 09:45:39
4320
举报
文章被收录于专栏:ops技术分享ops技术分享

一.简介

长话短说,本文全景呈现我司项目组gitlab flow && devops

Git Flow定义了一个项目发布的分支模型,为管理具有预定发布周期的大型项目提供了一个健壮的框架。 DevOps 强调的是团队通过自动化的工具协作和高效地沟通来完成软件的生命周期管理,从而更快、更频繁地交付更稳定的软件。开发关注代码,运维关注部署,效率和质量都能得到提升。

  • 项目组10人小团队也在实践敏捷开发;
  • 每个sprint周期一般包含2-3个功能;
  • 采用前后端开发,生产均使用k8s部署;
  • 每个sprint上线周期均经历 intergate Test—>alpha—>prod。

现代Devops技术基于容器技术、自动化脚本实现了依赖环境的打包、版本管理、敏捷部署。

二.操作流程

一个完整的功能迭代上线周期: 第①阶段: 开发阶段

  • 开发人员从develop切出feature分支,项目经理梳理本sprint需要上线的feature分支,自测完成后合并到develop;
  • 此时会打出ImageTag:develop的镜像,自动部署到集成测试环境,理论上还属于代码躁动的阶段;
  • 开发人员应该关注集成测试环境,QA人员可酌情参与。

第②阶段:测试阶段

  • 集成测试环境验证之后, 可从develop切出release-1.0.0预发布分支,此处会打出ImageTag:release-1.0.0的镜像,自动部署到alpha环境;
  • 此处QA会重点花时间在这个环境上测试, 发现问题,开发人员迅速响应;
  • 从release-1.0.0分支上切出bugfix分支,修复完后迅速合并回release-1.0.0 分支,同样会自动部署到alpha,QA快速验证;
  • …..
  • 这个阶段我们保持趋近一个稳定的release-1.0.0的分支。

第③阶段: 部署阶段

  • 从稳定的release-1.0.0分支打出对应的git tags: v1.0.0, 此处会打出ImageTag:v1.0.0的镜像,需要手动部署到prod;
  • QA线上测试,出现修复不的问题,迅速使用之前的ImageTag回滚;
  • 上线之后若发现不能回退的bug,此时需要hotfix,还是从release-1.0.0切出hoxfix分支,修复完合并回release-1.0.0,alpha环境测试通过;打出git tags:v1.0.0-hotfix1 重新部署到prod;
  • …..
  • 确认上线成功,将release-1.0.0分支合并回develop、master分支

这里为什么保留master分支, 是因为理论上当feature分支合并回develop分支,develop已经被污染了,这里保留master只为兜底。

后续就是开始新的sprint周期了,git release分支名/tag标签名跟随迭代。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
大揭秘| 我司项目组Gitlab Flow && DevOps流程
现代Devops技术基于容器技术、自动化脚本实现了依赖环境的打包、版本管理、敏捷部署。
有态度的马甲
2020/09/18
1.5K0
大揭秘| 我司项目组Gitlab Flow && DevOps流程
Gitlab Flow到容器(下)
整个过程贯彻了git flow 预发布分支release,hotfix的核心用法, 同时在部署方式上也有一定的改进。
陈不成i
2021/06/07
3180
Git分支使用规范
俗话说:没有规矩,不成方圆。遵循一个好的规章制度能让你的工作事半功倍。同时也可以展现出你做事的认真的态度以及你的专业性,不会显得杂乱无章,管理困难。Git分支规范也是一样。当遵循了某种约定的Git分支,在代码提交以及多开发、多分支协同工作的时候,必须遵循这个规范操作,否则不予以提交、合并代码、提测、上线等操作。
没有故事的陈师傅
2022/05/23
5790
Git flow 规范
VV采用标准的Git flow,下面将从工作流图与抽象模型两个方面,来描述与规范 Git flow。
jwangkun
2021/12/23
3K0
Git flow 规范
代码版本管理规范
git 流程模式有两种:一种是Git flow工作流,一种是Github flow工作流。
机械视角
2020/08/17
2.9K0
基于 git flow + gitlab 协作开发:02 解决问题
上一篇文章中我们提到了在一个周维度或者月维度发布产品的小型协作项目中,会遇到各类协作上的问题,随着发布的越来越紧凑,问题也就越来越突出。本文主要对上一篇文章中提到的问题解决方案做细化,让大家可以清楚的知道如何通过合理的 git 工作流来解决这些问题,让原来发布时的手忙脚乱不再出现。通过 git flow 我们可以对项目做一个分支模型管理:
我与梦想有个约会
2021/03/13
1.1K0
图解Gitlab Flow
GitLab Flow 是一种版本控制工作流,结合了 Git 的分支模型和持续集成/持续交付 (CI/CD) 的最佳实践,适用于持续开发和交付的场景。以下是其图形表示及示例说明:
锅总
2024/11/26
1980
图解Gitlab Flow
开发规范一:Git Flow + Gitlab 工作流
分支说明 main 分支 发布分支。 包含最新稳定版本,每个版本都是该分支上的一个tag。 长期分支。 保护分支,非Maintainer成员不能直接提交,只能从其他分支合并。 develop 分支 主开发分支。 新功能或 bug 修复分支都从这里拉取和提合并请求。 长期分支。 保护分支,非Maintainer成员不能直接提交,只能从其他分支合并。 建议设置为仓库默认分支 feature 分支 新功能特性分支。 从develop分支拉取,开
Yuyy
2022/09/21
1.8K0
开发规范一:Git Flow + Gitlab 工作流
【Git】六、企业级开发模型
​ 我们知道,一个软件从零开始到最终交付,大概包括以下几个阶段:规划、编码、构建、测试、发布、部署和维护。
利刃大大
2025/02/26
1060
【Git】六、企业级开发模型
Git 代码分支管理规范
Git 是优秀的分布式代码管理软件。但是俗话说,“无规矩不成方圆”,代码分支的管理规范没有制定好,就会带来一系列的问题,比如:
leon_橙
2020/03/02
13K0
Git 代码分支管理规范
Git版本控制 Git、github,gitlab相关操作
发现文件和文件夹的颜色都是红色 ,当出现这种情况的时候, 说明这些文件还没有添加到git仓库当中
JokerDJ
2023/11/27
3280
Git版本控制 Git、github,gitlab相关操作
浅谈基于 Git 的版本控制工作流
因此,在本文中,我们就从「[版本控制简史」出发,揭开「基于 Git 的版本控制工作流」的神秘面纱。
CG国斌
2020/07/16
1.4K0
团队项目的 Git 分支管理规范
许多公司的开发团队都采用 Git 来做代码版本控制。如何有效地协同开发人员在开发、测试、上线各个环节的工作,可能都有各自的流程与规范。本文就分享作者一直沿用的团队项目 Git 分支管理规范,希望给有缘阅读的人加以参考,如果有更好的实践,也欢迎探讨、交流,谢谢!
子晋
2022/01/18
4.4K0
团队项目的 Git 分支管理规范
Git最佳实践-Git flow
Git是当下最流行的版本管理系统,阮一峰在自己的博文中提到过:“如果你严肃对待编程,就必定会使用版本管理工具”。Git操作是基于分支的,当下环境衍生出多种优秀的分支管理策略,其目的就是要保证不同分支各司其职,避免多人协作过程中代码冲突、代码版本出现问题。在日常迭代过程中,每个公司都有一套自己的分支管理规范,但万变不离其宗,都有Vincent Driessen提出的Git flow方法的影子。
关忆北.
2023/10/11
5170
Git最佳实践-Git flow
Git Flow工作流和Git 版本控制最佳实践
Git Flow是一种流行的Git工作流程,它定义了一组规则和约定,用于管理Git仓库中的分支和版本。Git Flow包括两个长期分支(master和develop)和三个短期分支(feature、release和hotfix),每个分支都有自己的目的和生命周期。
Towserliu
2024/07/26
4281
Git Flow工作流和Git 版本控制最佳实践
前端小微团队的Gitlab实践
首先要说的是分支管理,分支管理是git工作流的基础,好的分支设计有助于规范开发流程,也是CI/CD的基础。
程序员白彬
2020/07/10
1.5K0
前端小微团队的Gitlab实践
GIT分支管理和常用命令
master 分支 不能往master 分支上提交代码,只能在该分支上进行代码合并操作,例如将其它分支的代码合并到 Master 分支上。 develop 分支 我们日常开发中的代码需要从 master 分支拉一条 develop 分支出来,该分支所有人都能访问,但一般情况下,我们也不会直接在该分支上提交代码,代码同样是从其它分支合并到 develop 分支上去。 feature 分支 当我们需要开发某个特性时,需要从 develop 分支拉出一条 feature 分支,例如 feature/update_mq 与 feature/update_netty,在这些分支上并行地开发具体特性。 release 分支 当特性开发完毕后,我们决定需要发布某个版本了,此时需要从 develop 分支上拉出一条 release 分支,例如 release-1.0.0,并将需要发布的特性从相关 feature 分支一同合并到 release 分支上,随后将针对 release 分支推送到测试环境,测试工程师在该分支上做功能测试,开发工程师在该分支上修改 bug。待测试工程师无法找到任何 bug 时,我们可将该 release 分支部署到预发环境,再次验证以后,均无任何 bug,此时可将 release 分支部署到生产环境。 tag 待上线完成后,将 release 分支上的代码同时合并到 develop 分支与 master 分支,并在 master 分支上打一个 tag,例如 v1.0.0。 hotfix 当生产环境发现 bug 时,我们需要从对应的 tag 上(例如 v1.0.0)拉出一条 hotfix 分支(例如 hotfix-1.0.1),并在该分支上做 bug 修复。待 bug 完全修复后,需将 hotfix 分支上的代码同时合并到 develop 分支与 master 分支。同时在master上打上tag,v1.0.1。 版本号 对于版本号我们也有要求,格式为:x.y.z,其中,x 用于有重大重构时才会升级,y 用于有新的特性发布时才会升级,z 用于修改了某个 bug 后才会升级。 个人分支 个人分支下可以建目录,例如: xiaoguai/dev1, xiaoguai/dev2
黄小怪
2018/12/11
1.2K1
GIT分支管理和常用命令
GitFlow 流程
Git Flow 是构建在 Git 之上的一个组织、管理软件开发活动的模型。Git Flow 是一套使用 Git 进行源代码管理时的一套行为规范和,通过利用 Git 创建和管理分支的能力,为每个分支设定具有特定的含义名称,并将软件生命周期中的各类活动归并到不同的分支上。实现了软件开发过程不同操作的相互隔离。这种软件开发的活动模型被称为 “Git Flow”。
molier
2022/11/03
5360
GitFlow 流程
【实战分享】使用Git Flow的代码管理之道
本文将介绍一个被广泛使用的,基于git的项目管理工作流程git flow。
netkiddy
2018/10/18
2.4K0
【实战分享】使用Git Flow的代码管理之道
深入解析 Git 分支策略:如何为团队选择最优开发工作流程
在现代软件开发中,特别是多人协作的开发环境中,选择适合的 Git 分支策略对项目的成功至关重要。不同的团队规模、项目复杂度和发布频率都可能需要不同的分支策略。常见的 Git 分支策略包括 Git Flow、GitHub Flow 和 Trunk Based Development (主干开发)。本文将深入分析这些分支策略的优缺点,并探讨如何根据团队规模和项目需求选择合适的工作流程。同时,我们将提供相应的代码示例和最佳实践,帮助团队避免常见的协作问题。
一键难忘
2024/09/07
2820
相关推荐
大揭秘| 我司项目组Gitlab Flow && DevOps流程
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档