部署流水线(Deployment Pipeline)是 持续交付 1.0 的核心模式。
部署流水线是对软件交付过程的一种可视化呈现方式,展现了从 代码提交、构建、部署、测试到发布 的整个过程,为团队提供 状态可视化 和 即时反馈 。
部署流水线的设计受到软件架构、分支策略、团队结构以及产品形态的影响,因此每个产品的部署流水线均有所不同。
初始部署流水线
任何人提交代码后,立即自动触发一次部署流水线实例化。
流水线执行状态解析
开发人员每次提交代码都会触发一次部署流水线。
测试人员只从通过次级构建的那些版本中选择包含新功能的版本进行 UAT
部署,并进行手工测试。验收结束后,触发“UAT 结果”。团队会定期触发性能测试。
团队开发工程师每人每天都会提交一次。因此,这个部署流水线每天都会启动多次。
流水线的设计原则
- 一次构建,多次使用;
- 与业务逻辑松耦合;
- 并行化原则;
- 快速反馈优先;
- 重要反馈优先;
团队的协作纪律
1. 立即暂停原则
立即暂停原则是指当部署流水线运行时,某个环节一旦出了问题导致执行失败,团队应该立即停下手中的任务,安排人员着手开始修复它,而不是放任不管。并且,在问题被修复之前,除因修复这个问题而提交代码以外,禁止其他人再向代码仓库提交新的代码变更。
2. 安全审计原则
角色协作时,如果要传递代码或软件包,那么它们应该来自受控环境。受控环境是指对该环境的一切操作均被审计,并且在该环境中的任何组件(如源代码、二进制代码包或者已安装的程序)均已通过审计。
了解更多:https://t.zsxq.com/07F6a2rJm