项目开发和持续集成流程

持续集成是一种软件开发实践,而实践不是工程,是不可全盘复制的,我们必须围绕持续集成的思想来打造符合我们项目实际情况的实践。

持续集成的基础是合适的分支策略,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删除。

编辑于

关注时代Java

关注时代Java