
# 配置发布管理发布策略
#### 新建发布管理自定义策略
发布管理环境预置了滚动升级模板、灰度升级模板和空白yaml模板，用户可以基于任一模板，添加原子插件，编辑发布策略。
1. 进入发布管理环境列表页面。
2. 单击环境名称，进入"环境信息"页面。
3. 单击"发布策略"页签，切换至"发布策略"页面。
4. 单击"自定义策略"旁的![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000001936654014.png)，弹出"新建策略"对话框，选择策略模板，单击"确定"。
5. 在模板的基础上自定义编排插件，并配置相关信息。 
   ![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000001936813356.png "点击放大")
   表1新建策略 
   | **参数项** | **说明**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   |:---|:---|
   | 策略名称    | 策略的名称。支持中文、英文字母、数字、"-"、"_"，不超过128个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   | 策略描述    | 长度不超过200个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   | 编排插件    | 选择策略模板后会自动生成相应的插件，可根据需要自定义编排并配置插件信息，插件参数配置请参考[配置发布管理原子插件]。 - 单击![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000001973978640.png)，可添加插件。  - 单击![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000001973980728.png)，可复制当前插件。  - 单击![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000001974167440.png)，可删除当前插件。   |
      
   
   
6. 配置完成后，单击"保存"。
7. 在左侧目录找到刚创建的策略，单击策略所在行![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000001963812609.png)，即可应用该策略，应用后策略会变为"默认"的状态。
 
 #### 配置发布管理原子插件
发布管理提供[滚动升级插件]、[通用k8s部署插件]、[灰度起负载插件]、[灰度引流插件]、[灰度下线插件]和[人工卡点插件]五种插件，用于滚动升级和灰度升级，以下分别介绍各插件配置方法。
- **滚动升级插件**
  滚动升级包括两种部署方式：镜像创建和YAML创建。
  - 镜像创建：替换工作负载中容器的镜像。 ![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000001963932385.png "点击放大")
    表2参数说明 
    | **参数项** | **说明**         |
    |:---|:---|
    | 命名空间    | 待升级的服务所在的命名空间。 |
    | 工作负载    | 命名空间下的工作负载。    |
    | 容器      | 工作负载中需要升级的容器。  |
       
    
  
  - YAML创建：使用yaml文件升级或上线工作负载。 ![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000001936654018.png "点击放大")
    表3参数说明 
    | **参数项**    | **说明**                                                                                                                                                                                                                                                                                                                                                                                                            |
    |:---|:---|
    | 仓库类型       | 代码仓库的类型，当前仅支持Repo。                                                                                                                                                                                                                                                                                                                                                                                                |
    | 代码仓        | 当前项目下的代码仓。                                                                                                                                                                                                                                                                                                                                                                                                        |
    | 分支         | 代码仓库分支。                                                                                                                                                                                                                                                                                                                                                                                                           |
    | 工作负载YAML路径 | 升级的工作负载YAML路径，填写YAML文件的相对路径。 - 当前目录为代码分支的根目录。  - 仅支持单个YAML文件。  - YAML路径可以使用"${变量名}"引用环境变量，YAML文件中可以使用"{{变量名}}"引用环境变量。   |
       
    
    
- **通用k8s部署** **插件**
  通用k8s部署插件，按照用户配置的代码仓信息及文件路径，取到对应的文件，并将其下发至用户的k8s集群。
  ![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000002247129529.png "点击放大")
  
  表4参数说明 
  | **参数项** | **说明**                                                                                                                                                                                                                                                                                                  |
  |:---|:---|
  | 仓库类型    | 代码仓库的类型，当前仅支持Repo。                                                                                                                                                                                                                                                                                      |
  | 代码仓     | 当前项目下的代码仓。                                                                                                                                                                                                                                                                                              |
  | 分支      | 代码仓库分支。                                                                                                                                                                                                                                                                                                 |
  | 资源路径    | 填写YAML文件的相对路径。 - 当前目录为代码分支的根目录。  - YAML路径可以使用"${变量名}"引用环境变量，YAML文件中可以使用"{{变量名}}"引用环境变量。   |
     
  
- **灰度起负载插件**
  灰度起负载包括两种部署方式：镜像升级和YAML部署。
  - 镜像创建：替换工作负载中容器的镜像，创建与线上配置完全一致的工作负载，仅更新构建产物（镜像包）。 ![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000001936813360.png "点击放大")
    表5参数说明 
    | **参数项** | **说明**                                                                                                                                                            |
    |:---|:---|
    | 命名空间    | 待升级的服务所在的命名空间。                                                                                                                                                    |
    | 服务      | 集群命名空间下的Service，需要确保该Service有且仅有一个工作负载与其关联。                                                                                                                       |
    | 自定义版本号  | 开关关闭，系统将自动随机生成灰度版本号；开关开启，用户可以按需配置灰度版本号。                                                                                                                           |
    | 灰度版本号   | 灰度版本号将作为新旧负载的引流标识，用于区分正式版本和灰度版本，请按需配置，支持使用${ENV}引用环境变量。如：${TIMESTAMP}，表示引用系统时间戳环境变量作为灰度版本号。 支持大小写英文字母、数字、"-"、"_"、"."，长度不超过62个字符。 |
       
    
  
  - YAML创建：使用yaml文件上线或升级工作负载。 ![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000001963812613.png "点击放大")
    表6参数说明 
    | **参数项**    | **说明**                                                                                                                                                                                                                                                                                                                                                                                                         |
    |:---|:---|
    | 命名空间       | 待升级的服务所在的命名空间。                                                                                                                                                                                                                                                                                                                                                                                                 |
    | 服务         | 集群命名空间下的服务，需要确保该服务有且仅有一个工作负载与其关联。                                                                                                                                                                                                                                                                                                                                                                              |
    | 仓库类型       | 代码仓库的类型，当前仅支持Repo。                                                                                                                                                                                                                                                                                                                                                                                             |
    | 代码仓        | 当前项目下的代码仓。                                                                                                                                                                                                                                                                                                                                                                                                     |
    | 分支         | 代码仓库分支。                                                                                                                                                                                                                                                                                                                                                                                                        |
    | 工作负责YAML路径 | 填写YAML文件的相对路径。 - 当前目录为代码分支的根目录。  - 仅支持单个YAML文件。  - YAML路径可以使用"${变量名}"引用环境变量，YAML文件中可以使用"{{变量名}}"引用环境变量。   |
       
    
    
- **灰度引流插件**
  ![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000001963932389.png "点击放大")
  选择引流类型，包括：Service蓝绿引流和ASM灰度引流。
  - Service蓝绿引流：基于集群Service将所有流量切换至新负载（灰度负载）。
  
  - ASM灰度引流：基于ASM的VirtualService和DestinationRule配置来控制访问流量，可以基于流量比例、请求Header等进行灰度引流，要求集群内安装ASM（应用服务网格）。
   
- **灰度下线插件**
  灰度下线插件会自动下线服务关联的旧工作负载，无需配置。
  
- **人工卡点插件**
  可以在卡点确认时进行批准或驳回部署策略，运行至人工卡点时流水线将暂停，若审批通过则继续执行，若驳回则终止执行。
  ![](https://support.huaweicloud.com/usermanual-pipeline/zh-cn_image_0000001936654022.png "点击放大")
  表7参数说明 
  | **参数项** | **说明**                                                                                                                                                                                                                                                                                                                                       |
  |:---|:---|
  | 超时处理    | 超过等待审批时间后流水线的处理方案。 - 卡点失败，发布流终止执行：运行至人工卡点时流水线将暂停，若超时不处理则终止执行流水线。  - 忽略结果，发布流继续执行：运行至人工卡点时流水线将暂停，若超时不处理则继续执行流水线。   |
  | 卡点时长    | 等待审批的时间，时间范围为1分钟至12小时。                                                                                                                                                                                                                                                                                                                       |
  | 卡点说明    | 卡点内容说明。长度不超过200个字符。                                                                                                                                                                                                                                                                                                                          |
     
  
 
