持续集成的基础是合适的分支策略,Git Flow应该是很多基于Git版本控制系统的项目所实践的一种开发流程,它基本能够满足很多项目:
• 在开发新功能/任务时,开发人员从当前集成develop分支checkout一个功能开发feature分支;
• 在feature分支上进行功能开发和自测,当有新的commit提交到分支上时,持续集成系统会从feature分支上拉取代码进行编译、单元测试、静态代码扫描等,然后自动化部署到开发环境进行冒烟测试,便于开发人员尽早验证已开发的功能;
• 如果验证通过,并确定本迭代能上线的,开发团队可以将feature分支合并到develop分支,并删除feature分支,然后进行下一个feature的开发;
• develop分支的代码更新也会触发对应流水线的集成,持续集成系统会从develop分支上拉取代码进行编译,然后同样地进行单元测试、静态代码扫描、自动化测试等,最后自动化部署到测试环境供测试团队(QA)进行测试;
• 上线当天由本迭代上线负责人从master分支创建release发版验证分支,由上线负责人将集成develop分支合入release分支。持续集成系统会基于release分支进行新的构建、测试并在经过人工审核后部署到预发环境,在预发环境进行演练和回归测试;
• 演练完成,确定可以上线的,由上线负责人将release分支合入master分支并打Tag,准备上线;持续集成系统会基于Tag来拉取代码进行新的构建、并在人工审核后发布到线上。
本文系作者在时代Java发表,未经许可,不得转载。
如有侵权,请联系nowjava@qq.com删除。