CODING DevOps 系列第一课:基于开源工具链打造持续交付平台 (2)

在整个交付环节中,版本控制是最重要的一块,而版本控制又跟分支策略有关。如果前期分支策略做得不好的话,后期的版本控制肯定是很糟糕的。只有前面做好了,后面才有做好的可能。

分支管理的必要性

这里相信小伙伴们都会有一定的了解,分支管理可以帮助我们避免代码的丢失,如果没有合理的分支管理,在某个功能还没有开发完,代码推送到远程会影响其他功能,如果不推送到远程仓库中,本地数据丢失会导致代码丢失。

同时,分支管理还可以提高代码质量。设置分支权限后,feature 分支向主干分合并需要 master 角色 review 评审,保障了主干分支代码质量。

最后,随着软件的迭代,版本号也随着变更,为了追溯每个版本的需求、变更集及线上 bug 修改,需要设计合理的分支策略并管理到需求和部署包。

7.jpg

合理分支策略的特点

首先,合理分支策略肯定要符合业务场景。没有最好的,只有合适的,设计符合自己业务场景的分支策略还是最关键的。

第二,分支层次结构清晰。清晰的分支层次结构能更好地体现每个分支的功能。

第三,避免形式主义。不应该为了做分支管理而设计多层而设计多层分支,导致一次提交需要多次合并,失去了高效支付效果。

最后是权限控制,需要对主干分支设置相应权限,只有指定人员才有权限合并,提高代码质量。

8.jpg

Pipeline 简介

所有的交付过程都是基于 pipeline 做的,pipeline 俗称流水线,在 Jenkins 中也被称为 job,多个构建单元组成一条流水线,如代码编译、单元测试、代码扫描组成一条 pipeline。编排一个 pipeline 有两种方式:在 Jenkins 界面配置化实现以及编写 Jenkinsfile 文件来实现环节的编排。

我们主要推荐用 Jenkinsfile 进行编排,因为在当前的业务场景下,我们的建议是“一切配置皆代码”,这样能保证我们的所有配置是代码化的,即使我们的 Jenkins 服务器挂掉了或者被人删掉了,我们的 Jenkinsfile 也能存放在源代码管理系统中。

Jenkinsfile 是 Jenkins 可识别的脚本文件,以代码的形式将所有的构建步骤按照一定的语法写入到该文件中,创建 pipeline 是指定该文件路径。

9.jpg

我们将在完整视频中,继续为大家带来几种场景下的分支策略,以及 Pipeline 的设计、度量、反馈。点击观看完整视频。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpzgfj.html