配置环境发布策略
新建自定义策略
发布管理环境预置了滚动升级模板和灰度升级模板,用户可以基于任一模板,添加原子插件,编辑发布策略。
- 登录软件开发生产线首页。
- 单击项目名称,进入目标项目。
- 单击“持续交付 > 发布管理”,进入环境列表页面。
- 单击环境名称,进入“环境信息”页面。
- 单击“发布策略”页签,切换至“发布策略”页面。
- 单击“自定义策略”旁的,弹出“新建策略”对话框,根据需要选择策略模板,单击“确定”。
- 在模板的基础上自定义编排任务,根据需要填写基本信息,编排插件,插件参数配置请参考配置原子插件。
- 配置完成后,单击“保存”。
- 在左侧目录找到刚创建的策略,单击策略所在行,即可应用该策略,应用后策略会变为“使用中”的状态。
配置原子插件
微服务发布提供滚动升级、灰度起负载、灰度引流、灰度下线和人工卡点五种插件,用于滚动升级和灰度升级,以下分别介绍各插件配置方法。
滚动升级插件
- 镜像创建:替换工作负载中容器的镜像。
表1 参数说明 参数项
说明
命名空间
待升级的服务所在的命名空间。
工作负载
填写YAML文件的相对路径。
- 当前目录为代码分支的根目录。
- 仅支持单个YAML文件。
- YAML路径可以使用“${变量名}”引用环境变量,YAML文件中可以使用“{{变量名}}”引用环境变量。
容器
工作负载中需要升级的容器。
- YAML创建:使用yaml文件上线或升级工作负载。
表2 参数说明 参数项
说明
仓库类型
代码仓库的类型。
代码仓
用户在微服务中配置的代码仓。
分支
用户在微服务中配置的分支。
工作负载YAML路径
升级的工作负载YAML路径,填写YAML文件的相对路径。
- 当前目录为代码分支的根目录。
- 仅支持单个YAML文件。
- YAML路径可以使用“${变量名}”引用环境变量,YAML文件中可以使用“{{变量名}}”引用环境变量。
灰度起负载插件
- 镜像创建:替换工作负载中容器的镜像,创建与线上配置完全一致的工作负载,仅更新构建产物(镜像包)。
表3 参数说明 参数项
说明
命名空间
选择升级的服务所在的命名空间。
服务
升级的服务。
自定义版本号
打开开关。
灰度版本号
灰度版本号将作为新旧负载的引流标识,输入“${TIMESTAMP}”,引用系统环境变量。
- YAML创建:使用yaml文件上线或升级工作负载。
表4 参数说明 参数项
说明
命名空间
选择升级的服务所在的命名空间。
服务
集群命名空间下的服务,需要确保该服务有且仅有一个工作负载与其关联。
仓库类型
仓库的类型。
代码仓
用户在微服务中配置的代码仓。
分支
用户在微服务中配置的分支。
工作负责YAML路径
填写YAML文件的相对路径。
- 当前目录为代码分支的根目录。
- 仅支持单个YAML文件。
- YAML路径可以使用“${变量名}”引用环境变量,YAML文件中可以使用“{{变量名}}”引用环境变量。
灰度引流插件
选择引流类型,包括:Service蓝绿引流和ASM灰度引流。
- Service蓝绿引流:基于集群Service将所有流量切换至新负载(灰度负载)。
- ASM灰度引流:基于ASM的VirtualService和DestinationRule配置来控制访问流量,可以基于流量比例、请求Header等进行灰度引流,要求集群内安装ASM(应用服务网格)。
灰度下线插件
灰度下线插件会自动下线服务关联的旧工作负载,无需配置。
人工卡点插件
可以在卡点确认时进行批准或驳回部署策略,运行至人工卡点时流水线将暂停,若审批通过则继续执行,若驳回则终止执行。
参数项 |
说明 |
---|---|
超时处理 |
超过等待审批时间后流水线的处理方案。
|
卡点时长 |
等待审批的时间,时间范围为1分钟至12小时。 |
卡点说明 |
填写卡点说明(可选)。 |