GitLab研发流程:分支管理与发布实践

需积分: 0 29 下载量 115 浏览量 更新于2024-08-31 1 收藏 489KB PDF 举报
"基于gitlab的研发流程的分支管理和发布流程主要围绕四个主要分支类型:features、develop、releases和master,以及移动端应用的发布流程展开。这个流程旨在实现高效的企业级devops实践,确保代码质量并加速产品迭代。" 在gitlab中,采用的分支管理策略是基于以下四类分支: 1. **Features分支**:这些分支代表了开发中的特定特性或需求。每个新需求都会创建一个新的features分支,便于独立开发和测试。开发人员在此分支上工作,实现和测试新功能。 2. **Develop分支**:开发分支是持续存在的,用于集成来自不同features分支的功能。当一个features分支上的工作完成并通过测试,它会被合并到develop分支,以便集成交付的代码。 3. **Releases分支**:在某个版本的需求都合并到develop分支后,或者在项目封板时,会从develop分支创建一个release分支,如`release-version`。这个分支用于修复可能发现的bug,直到准备发布。如果有紧急需求,会在现有的release分支基础上创建新的分支来处理。 4. **Master分支**:master分支被视为稳定的分支,是发布的基础。只有在release分支上的所有更改都经过验证且准备就绪后,才会将release分支合并到master分支,并基于此分支打包和发布产品。 移动端发版流程则进一步细化了这个过程,包括以下步骤: 1. **需求创建**:新需求通过工具(如APS)创建对应的特性分支,针对Android和iOS分别创建不同的子分支。 2. **开发和测试**:开发人员在特性分支上完成开发,然后提交给测试团队进行测试。 3. **合并到develop**:测试通过后,特性分支的代码合并到develop分支。 4. **封板**:使用专门的封板界面,确定可以发布后,会比较develop和master分支的差异,如有变更,创建release分支。 5. **权限控制**:调整开发人员权限,防止对release分支的直接修改。 6. **组件打包**:release分支创建后,自动触发组件打包,例如Android组件包上传到指定位置,iOS构建三位版本号的包。 7. **回归测试**:打包完成的通知发送给测试团队进行回归测试。 8. **发布**:测试通过后,通过APS将release分支合并到master,同时打上版本号的tag,release分支的bug修复回合并到develop分支(如果有冲突,需要组件负责人解决并更新状态)。 9. **最终构建**:master分支的合并触发最终的构建,准备产品的正式发布。 这个流程体现了devops的精神,强调了自动化、协作和持续交付,有助于提升软件开发效率和产品质量。