流水线最佳实践
文档版本信息
属性 | 内容 |
---|---|
文档名称 | 流水线最佳实践 |
文档编号 | 001 |
文档版本 | V0.1 |
版本日期 | 2020/02/20 |
文档状态 | 外部发布 |
制作人 | |
审阅人 |
文档变更记录
版本编号 | 日期 | 作者 | 审核人 | 说明 |
---|---|---|---|---|
V1.0 | 2020/02/07 |
法律声明
阿里云提醒您在阅读或使用本文档之前仔细阅读、充分理解本法律声明各条款的内容。如果您阅读或使用本文档,您的阅读或使用行为将被视为对本声明全部内容的认可。
- 您应当通过阿里云网站或阿里云提供的其他授权通道下载、获取本文档,且仅能用于自身的合法合规的业务活动。本文档的内容视为阿里云的保密信息,您应当严格遵守保密义务;未经阿里云事先书面同意,您不得向任何第三方披露本手册内容或提供给任何第三方使用。
- 未经阿里云事先书面许可,任何单位、公司或个人不得擅自摘抄、翻译、复制本文档内容的部分或全部,不得以任何方式或途径进行传播和宣传。
- 由于产品版本升级、调整或其他原因,本文档内容有可能变更。阿里云保留在没有任何通知或者提示下对本文档的内容进行修改的权利,并在阿里云授权通道中不时发布更新后的用户文档。您应当实时关注用户文档的版本变更并通过阿里云授权渠道下载、获取最新版的用户文档。
- 本文档仅作为用户使用阿里云产品及服务的参考性指引,阿里云以产品及服务的“现状”、“有缺陷”和“当前功能”的状态提供本文档。阿里云在现有技术的基础上尽最大努力提供相应的介绍及操作指引,但阿里云在此明确声明对本文档内容的准确性、完整性、适用性、可靠性等不作任何明示或暗示的保证。任何单位、公司或个人因为下载、使用或信赖本文档而发生任何差错或经济损失的,阿里云不承担任何法律责任。在任何情况下,阿里云均不对任何间接性、后果性、惩戒性、偶然性、特殊性或刑罚性的损害,包括用户使用或信赖本文档而遭受的利润损失,承担责任(即使阿里云已被告知该等损失的可能性)。
- 阿里云文档中所有内容,包括但不限于图片、架构设计、页面布局、文字描述,均由阿里云和/或其关联公司依法拥有其知识产权,包括但不限于商标权、专利权、著作权、商业秘密等。非经阿里云和/或其关联公司书面同意,任何人不得擅自使用、修改、复制、公开传播、改变、散布、发行或公开发表阿里云网站、产品程序或内容。此外,未经阿里云事先书面同意,任何人不得为了任何营销、广告、促销或其他目的使用、公布或复制阿里云的名称(包括但不限于单独为或以组合形式包含“阿里云”、“Aliyun”、“万网”等阿里云和/或其关联公司品牌,上述品牌的附属标志及图案或任何类似公司名称、商号、商标、产品或服务名称、域名、图案标示、标志、标识或通过特定描述使第三方能够识别阿里云和/或其关联公司)。
- 如若发现本文档存在任何错误,请与阿里云取得直接联系。
本文对使用阿里云云效-专有云版本的流水线产品实现价值流动进行了介绍。价值要流动,必须要由一条链承载,这就是流水线。任何一款互联网产品从需求搜集、提出需求,到开发、编码、测试、直至最后交付到运维手中发布,并为保证高可用做监控、告警,修复等一系列动作,再到搜集新需求,把这条链反馈到产品中,这条链的流转速度越快,代表企业的IT能力就越强。通过流水线,协同云效所有的产品,将研发过程中重要的操作和执行情况,通过流水线一个入口来完成。云效平台流水线平台包含四个应用:流水线管理、流水线模板、组件管理(自定义组件,接入流水线)和应用&模板关联配置,比较有特色的提供了流水线组的模式, 可以在流水线组里使用并行流水线,灵活运行流水线组。
云效平台流水线的本质是项目流程从开发、测试、集成到发布的端到端的生命周期,它提供统一监控和操作入口,通过流水线协同云效所有的产品,将研发过程中重要的操作和执行情况,通过流水线一个入口来完成,并且支持自动化地执行,帮助用户快速创建持续交付流程。此文档讲解云效的流水线最佳实践,希望供大家参考。
【适用场景】
- 敏捷项目管理
- 传统的瀑布研发模式
【方案架构】
- 流水线是持续集成和持续交付的基础,使得开发、测试和运维都可以在统一的界面得知产品最新的构建、测试和部署的状态,增强不同角色之间的协作,还能保证产品质量。
云效的流水线,是开发项目生命周期端到端的流程覆盖,比一般的 CICD 流水线更为复杂。开发项目全生命周期包括开发、测试、集成、发布等阶段,而各个阶段的流程都是不一样的。开发过程,流水线是基于应用分支的,一个分支一条流水线,各自执行。测试过程,流水线是基于开发项目的,有多个应用分支共同走一条流水线,所有的节点都是要一起通过的。集成过程,流水线是基于集成区块的。因为支持全局集成,一个集成区块可以是基于开发项目跨应用的,也可以是基于应用的跨开发项目的。因为云效还支持了多环境集成,不同环境的集成流程可以不同,所以集成流水线的管理是非常复杂的。
【方案优势】
- 统一开发项目流水线模板,规范开发项目。
- 明确流水线各阶段的流程,保证开发质量,提高效率。
- 成熟的工具支撑,降低流水线使用和管理成本。
在执行本文操作前,请完成以下准备工作:
- 所在公司已购买并开通云效配置管理模块和流水线产品模块。
- 已注册云效账号并完成认证,可以登录云效平台。
- 完成云效产品培训并通过相关考试。
- 加入云效的钉钉答疑群(联系本公司云效接口负责人入群)。
- 产品需求相关方(业务方、PD、UED、PM、技术架构、开发、测试、验收等)已经通过钉钉或企业微信建立实时通信群。
- 本方案使用 Chrome 浏览器,需提前准备。
- 安装钉钉或企业微信。
为了让大家更好地使用云效的项目管理,对项目管理中一些常见的术语进行了如下解释:
名称 | 说明 |
---|---|
组件(任务/task) | 是一个相对独立的命令或操作,可以调用其他的产品接口,执行操作,并返回操作结果。 |
阶段(stage) | 是一个由多个组件(也叫任务,task)串行组成的,是组成一条流水线的节点。一个组件失败,stage 为失败。 |
流水线(pipeline) | 是一个由 stage 通过串行或并行的方式组成的流程。 |
流水线组(pipeline group) | 一组流水线通过串行或者并行的方式组成,支持端到端(从开发到发布)的项目流程的流水线组合。 |
6.1 创建开发流水线模板
【操作步骤】:
- 在流水线模板页面,点击新建模板。
- 输入流水线模板名称、选择模板类型、按需添加全局参数。
- 添加“构建”阶段。 点击流程中间的 “+”,点击弹出的新建下一个阶段,在下方输入阶段名称、添加组件。在构建组件中,填好环境类型和构建分支。
- 添加“部署”阶段。
- 添加“接口冒烟”阶段。
- 点击页面下方创建按钮,即可完成流水线模板的创建。
【概念解析】流水线模板分为 3 种类型:
- 「应用流水线」:与一个应用分支相关联。如果选择了归属开发项目和关联应用,便会自动读取该开发项目下该应用的开发分支。
- 「一般流水线」:不与应用相关联。根据归属的开发项目,获取项目下所有的开发分支。
- 「集成流水线」:自动生成。提交集成后,会基于集成区块生成流水线,关联该集成区块下所有的集成分支。
6.2 创建测试流水线模板
【操作步骤】:类似 6.1 的开发流水线创建流程,在流水线模板页面,新建测试流水线模板。
6.3 创建集成流水线模板
【操作步骤】:类似 6.1 的开发流水线创建流程,在流水线模板页面,新建集成流水线模板。
6.4 创建发布流水线模板
【操作步骤】:类似 6.1 的开发流水线创建流程,在流水线模板页面,新建发布流水线模板。
6.5 创建流水线组模板
【操作步骤】:
- 新建新建流水组模板。
- 设置流水线组模板名称。
- 添加流水线模版。 点击流程中间的 “+”,点击弹出的新建下一个阶段,依次添加“开发流水线”、“测试流水线”、“集成流水线”和“发布流水线”模板。
- 点击页面下方“新建”按钮,完成新建。
6.6 生成流水线组
【操作步骤】:
- 点击“自动生成流水线组”。
- 选择“研发流水线组”,并点击“生成流水线组”。
- 流水线组生成后,可进行重新运行、编辑和删除操作。
- 返回流水线管理页面,流水线组展示其下包含的所有流水线,可编辑流水线、查看执行历史。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论