在团队开发中,为了更好的协作,通常会采用一些工作流来最大程度提升效率。生产一个软件工序是比较复杂的,如果通过一个好的逻辑顺序去应用到一个软件开发的生命周期过程是非常重要的。

GitLab WorkFlow


从构思到上线的十步

想法:每一个新建议都从一个想法开始,可以尝试下头脑风暴等聊天的形式。
问题:讨论想法的最有效方法是为其提出问题,例如是否可实现。
计划:讨论如果达成一致的意见,就需要确定实施细节及优先级。
代码:一旦有了任务就可以开始编写代码了。
提交:针对需求编写的代码完成后就可以提交到功能分支。
测试:通常采用自动化(Auto DevOps)进行集成和测试所开发的代码。
审查:测试符合合理性要求后就需要评审和代码合并(Merge Request)。
部署:将代码部署到测试环境中,检测是否满足预期要求。
生产:当测试环境工作一切正常后,就可以上线到生产环境。
反馈:回顾在项目进行过程中哪一些阶段存在问题,进而持续的改善流程。

借助 GitLab WorkFlow,开发团队可以有效和快速的进入流程,从而提高整体的产能效益。

GitLab Flow

在团队协作开发中,如果多人共享一个 Master 分支进行开发的话,很容易出现撞车的现象,如何通过好的分支策略能让开发过程顺畅呢,这是一个很有挑战性的学问。

GitLab Flow 整合了 Git Flow 及 GitHub Flow 的优点,例如我们拥有 暂存环境、预发环境、生产环境,那么都是基于 Master(Staging)分支进行开发的,如果要发布预发环境,必须从暂存环境创建分支合并请求到预发环境,发布生产环境同理,也需要从预发环境创建分支合并请求到生产环境,这就是下游提交的方式,关于环境的任何变动需要从下游开始,这也确保了提交到生产环境的代码已经在其他的环境通过了测试。

GitLab WorkFlow相关推荐

  1. 微服务架构下 CI/CD 如何落地

    本文系云原生应用最佳实践杭州站活动演讲稿整理.杭州站活动邀请了 Apache APISIX 项目 VP 温铭.又拍云平台开发部高级工程师莫红波.蚂蚁金服技术专家王发康.有赞中间件开发工程师张超,分享云 ...

  2. 云原生时代,如何保证容器镜像安全?

    目录 遵从最佳实践,编写 Dockerfile 选择合适的基础镜像 以非 root 用户启动容器 采用多阶段构建 选择来源可靠且经常更新的镜像 用安全的方式构建容器镜像 使用容器镜像扫描 和极狐 Gi ...

  3. 用于React,React Native,JavaScript和生产力的顶级VSCode扩展

    I've used VSCode full-time since 2016. Before I was using Visual Studio and I was looking for lighte ...

  4. vs code 插件收集

    名称 简述 Auto Close Tag 自动闭合HTML标签 Auto Import Typescript自动import提示 Auto Rename Tag 修改HTML标签时,自动修改匹配的标签 ...

  5. 两行代码助你轻松实现SAST(静态应用程序安全测试)

    目录 极狐GitLab DevSecOps SAST 极狐GitLab DevSecOps 之 SAST 与极狐GitLab workflow 的结合 极狐GitLab DevSecOps 功能试用申 ...

  6. 不考虑安全的数字化转型都是伪命题

    目录 软件:数字化与数字经济发展重要推动力 安全:软件的生命线 软件安全之怪现状 愈加频发的安全问题 日益严峻的安全形势 更加严格的安全监管 仍旧存在诸多误区的安全意识 软件安全的破局之道:DevSe ...

  7. GitLab CI/CD .gitlab-ci.yaml 关键词(十二):条件限定,only ,except,触发规则rules,工作流workflow

    前言 本篇文章继续讲解GitLab CI/CD的关键词,本篇主要讲解的五个关键词 only ,except, rules, workflow .他们的作用很类似,主要作用是使用变量,或其他条件来限定作 ...

  8. 指定的网络文件夹目前是以其他用户名和密码进行映射的_使用 GitLab CI 与 Argo CD 进行 GitOps 实践

    在现在的云原生世界里面 GitOps 不断的被提及,这种持续交付的模式越来越受到了大家的青睐,我们前面也有文章详细讲解了 GitOps 的相关概念,在网上也可以找到很多关于它的资源,但是关于 GitO ...

  9. Git workflow

    Git workflow 大神镇楼: 这人不用说,应该都认识,他基本干了两件事,一个是Linux,一个就是git.每一件事,都在IT史上创建了一个巨大的Tag. Git是什么 Git能干什么? Git ...

最新文章

  1. 放弃使用jQuery实现动画
  2. Java中print、printf、println的区别 详解
  3. python 归并排序(详解)
  4. 536. Construct Binary Tree from String 从括号字符串中构建二叉树
  5. 【双100%解法】剑指 Offer 24. 反转链表
  6. 计算机usb共享网络泄密,杜绝USB泄密 MyUSBOnly
  7. 变频器输出功率_工业电气设计|变频器的输出功率该如何选择?
  8. C语言试题二十九之编写函数int function(int lim,int aa[max])求出小于或等于lim的所有素数并放在aa数组中,该函数返回所求的素数的个数。
  9. 知己知彼,百战百胜!如何做好干系人管理
  10. 哈工大理论力学第八版电子版_理论力学哈工大第八版1第一章思考题课后题
  11. 软件架构发展的几个阶段
  12. 京东时间校准_微星PAG272QR评测(友达新代号屏出现,QR2正在测试,稍晚一点时间发出)...
  13. Git 管理工具 SourceTree 的使用(上手简单,不熟悉git命令的开发者必用)
  14. 深度学习入门必看-手写数字识别
  15. 太漂亮了!有了3款开源图标库,不用再去求设计师了
  16. html5 img圆角,用 CSS3 给 图片添加圆角
  17. Java 交互小实例:(ATM机模拟、饮料自助机模拟)
  18. Tomcat闪退或者访问不到主页等情况
  19. 用Python实现自动扫雷
  20. PC版微信内置浏览器 缓存文件保存位置

热门文章

  1. 树冠点云投影面积计算(AlphaShape算法)
  2. CVE2017-8464:震网三代漏洞分析
  3. 关于计算机科学技术的作文,关于描写计算机的作文
  4. 前端 table列表自行排序
  5. 本地音乐如何导入apple_如何将Apple音乐歌曲用作iPhone闹钟
  6. 用c#实现拍拍抢拍精灵实现过程--核心代码--腾讯qq拍拍网秒杀器代码【欢迎转载】
  7. jQuery 学习-DOM篇(四):jQuery 删除 DOM 元素的方法
  8. C语言函数大全--d开头的函数
  9. SpringBoot 中新建一个Controller类,提示从未使用过的解决方法
  10. 前端有必要学习算法吗 前端如何学习算法 前端算法