云平台工作流
- 将因个体差异产生问题的功能模块(比如构建,部署),放在云平台
- 目标是实现功能的集中管理
工作人员角色严格划分
- 开发人员负责一线的开发工作
- 开发负责人汇总开发人员的分支合并到dev分支
- 云平台管理人员负责项目的发起和控制部署队列
自动构建和自动部署
- 自动构建,最常用的方案是和git管理平台联动,由webhook机制触发,然后构建结果通过单元测试后自动部署
gitFlow 和版本管理
- master:主分支,存储已经发布版本的源码,不能在这个分支开发,只能合并release和hotfix分支
- hotfix:热修复分支,用来修复线上的紧急bug,以线上版本对应的主分支为基础新建。hotfix开发完成后,必须合并到develop分支,否则下次发布版本会丢失hotfix代码。
- release:预发布分支,也叫提测分支,可以在这个分支上修复bug,以develop分支为基础新建或者合并develop分支。release分支在测试阶段会有频繁的修复bug行为,如果这个过程有版本迭代,必须在修复bug后将release分支合并到develop分支,否则新版本会有bug问题。
- develop:开发分支,汇总各个future分支,只能合并,不能在这个分支上开发
- current feature:当前版本迭代功能的分支,都在这个分支上开发
- future feature:未来版本迭代功能的分支,比如某个重要功能要在未来几个版本之后开放,但需要提前开发。如果没有这种情景,可以忽略。
- 不同团队可以采用不同分支策略
webhook和自动构建
- webhook是一种服务器之间通信的策略,源服务器通过监听某种特定事件(比如git仓库的push),在事件发生后发送一个http请求到目标服务器
- webhook是事件驱动模型的典型案例,其他的,比如浏览器事件监听,nodejs的eventloop
- webhook是git仓库和云平台的纽带,是实现自动化的关键
- git的事件会触发webhook的监听回调,发送消息给云平台,随后云平台收到消息自动构建,单元测试,和部署
posted on
2022-04-12 21:31
社会优先于个人
阅读(
91)
评论()
收藏
举报