
# 流水线构建镜像上传到swr镜像仓库后升级CAE组件
#### 创建编译构建任务
创建代码仓库的构建任务
1. 进入[CodeArts控制台](https://console.huaweicloud.com/devcloud)，单击右上角"立即使用"。
2. 在菜单栏选择"服务 \> 编译构建"。 
   图1选择服务   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001830428617.png "点击放大")
   
   
3. 在编译构建页面单击"新建任务"，在基本信息中填入"任务名称"，并选择"归属项目"、"源码源"、"源码仓库"和"分支"，单击"下一步"。 
   图2新建构建任务   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001784463564.png "点击放大")
   图3配置构建任务基本信息   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001740253761.png "点击放大")
   
   
4. 选择构建使用的模板（此示例使用的为java代码，故此步选择Maven模板）后，单击"下一步"。 
   图4选择构建模板   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001740440313.png "点击放大")
   
   
5. 进入"构建步骤"页面后，删除"上传软件包到软件发布库"步骤。 
   图5删除"上传软件包到软件发布库"步骤   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001740253817.png "点击放大")
   
   
6. 选择"添加步骤"，单击"文件上传"，选择"制作镜像并推送到SWR仓库"，单击"添加"。 
   图6添加步骤   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001741730181.png "点击放大")
   
   
7. 进入"参数设置"页面，参考[图7]配置构建参数和默认值，并开启运行时设置。"org_name"为上传到SWR镜像仓库的组织，"image_name"为上传到SWR镜像仓库的镜像名称，"image_tag"为镜像标签或镜像版本。
   
   图7配置自定义参数   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001692295356.png "点击放大")
   
   
8. 进入"构建步骤"页面，配置"制作镜像并推送到SWR仓库"步骤，配置组织使用参数"${org_name}"，镜像名字使用参数"${image_name}"，镜像标签使用参数"${image_tag}"，工作目录使用默认值，Dockerfile路径按照代码仓中的路径来，示例中的Dockerfile在代码仓根目录。 
   图8配置"制作镜像并推送到SWR仓库"步骤   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001740254285.png "点击放大")
   
   
9. 单击右上角"新建并执行"，确认运行时参数无误后，单击"确定"。 
   图9执行构建任务   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001740254509.png "点击放大")
   
   
10. 在"构建历史"页面选择构建任务查看构建日志，如[图10]所示，已构建成功并制作镜像推送到SWR仓库。
    
    图10查看日志   
    ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001741788729.png "点击放大")
    
    
11. 登录SWR控制台，在"我的镜像"中查看镜像已上传成功。 
    图11查看镜像   
    ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001692136192.png "点击放大")
    
    
 
#### 创建流水线构建后升级CAE组件
创建codearts流水线：
1. 返回Codearts控制台首页。
2. 在菜单栏选择"服务 \> 流水线"，在"流水线"页面单击"新建流水线"。 
   图12选择服务   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001830548645.png "点击放大")
   图13新建流水线   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001783665864.png "点击放大")
   
   
3. 在"新建流水线"界面，输入"名称"并选择"流水线源"、"代码仓"和"默认分支"，单击"下一步"。 
   图14配置流水线基本信息   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001692610318.png "点击放大")
   
   
4. 模板选择"无 \> 空模板"，单击"确定"。 
   图15选择模板   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001692481692.png "点击放大")
   
   
5. 进入"任务编排"页面后，单击"新建阶段"。单击![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001741890013.png "点击放大")将"阶段_1"改名为"构建"，"阶段_2"改名为"部署"。
   
   图16新建流水线阶段   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001740410077.png "点击放大")
   
   
6. 新建构建任务。 
   - 在"构建"阶段，单击"新建任务"。
     1. 在"新建任务"中，单击"构建"，选择"Build构建"任务，单击"添加"。
        图17新建构建任务   
        ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001741890053.png "点击放大")
        图18添加"Build构建"任务   
        ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001784641396.png "点击放大") 
     
     2. 选择前一步创建的"编译构建任务"和"仓库"，并将"org_name"、"image_name"和"image_tag"都设置为流水线参数，单击"确定"。
        图19image_name   
        ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001784352698.png "点击放大")
        图20image_tag   
        ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001784356118.png "点击放大") 
     
     3. 进入"参数设置"页面，添加自定义参数，如图所示，取值见[参数说明]。
        "org_name"：上传到SWR镜像仓库的组织，如for-test。
        "image_name"：上传到SWR镜像仓库的镜像名称，如cae-backend。
        "image_tag"：镜像标签或镜像版本，如v1.0。
        "swr_address"：SWR镜像仓库地址，格式：swr.区域项目名称.myhuaweicloud.com。
        图21添加自定义参数   
        ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001741890057.png "点击放大") 
      
   
   - 在"部署"阶段，单击"新建任务"。
     1. 在搜索框中输入"CAE"，并单击![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001741730177.png)。选择"CAE发布"插件，单击"添加"。
        图22添加部署插件   
        ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001741730193.png "点击放大") 
     
     2. 配置插件参数完成后，单击"确定"。
        - 区域选择：待部署的区域，与当前CodeArts在同一个Region。
        
        - 环境：选择组件所属环境。
        
        - 应用：选择组件所属应用。
        
        - 组件：选择待升级的组件（需要选择在CAE中使用镜像部署的组件）。
        
        - 组件来源：选择"镜像"。
        
        - 镜像地址：取值见[参数说明]。
        
        
        图23配置插件参数   
        ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001697921628.png "点击放大") 
     
     3. 单击"保存并执行"，进入执行配置页面，确认执行配置信息无误后，单击"执行"。
        图24确认执行配置   
        ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001831181669.png "点击放大") 
      
   
   
   
   
7. 查看流水线执行结果。 
   图25查看流水线执行结果   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001831520729.png "点击放大")
   
   
8. [登录CAE控制台](https://support.huaweicloud.com/usermanual-cae/cae_03_0001.html#section1)，在组件列表查看组件状态，"最近一次变更状态/时间"列显示状态为"升级成功"，则表示Codearts流水线执行升级成功。
 
 #### 参数说明
表1参数说明 
| 参数名称        | 是否必须 | 参数类型   | 描述                                                                                                                                                              |
|:---|:---|:---|:---|
| org_name    | 是    | String | 镜像上传到SWR的组织名称，可以登录[SWR控制台](https://console.huaweicloud.com/swr)查看。                                                                                              |
| image_name  | 是    | String | 上传到SWR的镜像名称。                                                                                                                                                    |
| image_tag   | 是    | String | 上传到SWR的镜像版本。                                                                                                                                                    |
| swr_address | 是    | String | 值的格式：swr.区域项目名称.myhuaweicloud.com，区域项目名称就是region，参考[参数值获取](https://support.huaweicloud.com/bestpractice-cae/cae_05_0016.html#cae_05_0016__section044716476514)。 |
| 镜像地址        | 是    | String | 上传到SWR的镜像地址，值填写： ${swr_address}/${org_name}/${image_name}:${image_tag}。                                                                                         |
   
