
# 配置CodeArts对接CAE
本章最佳实践将指导您如何配置CodeArts对接CAE。
[步骤一：使用CodeArts服务，创建代码仓库的编译构建任务]
[步骤二：创建账号的委托信息]
[步骤三：创建CodeArts流水线，升级CAE组件]
#### 约束与限制
当前不支持"源码仓库"和"软件包"功能，推荐使用[CAE对接GitHub Actions实现自动CICD部署](https://support.huaweicloud.com/bestpractice-cae/cae_05_0064.html)。
 #### 步骤一：使用CodeArts服务，创建代码仓库的编译构建任务
1. 进入[CodeArts控制台](https://console.huaweicloud.com/devcloud)，单击右上角"前往工作台"。
2. 在上方菜单栏选择"服务 \> 编译构建"。 
   图1选择编译构建   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000002259941937.png "点击放大")
   
   
   
3. 在编译构建页面单击"新建任务"，参考下表设置基本信息，设置完成后单击"下一步"。 
   编译构建任务的参数详细说明请参见CodeArts Build服务的[新建构建任务（图形化构建）](https://support.huaweicloud.com/usermanual-codeci/codeci_ug_0000.html)。
   表1编译构建任务参数示例 
   | 参数   | 本案例的示例                |
   |:---|:---|
   | 名称   | 填写**cae-backend-swr** |
   | 所属项目 | 选择"cae-test"          |
   | 代码源  | 选择"Repo"              |
   | 代码仓  | 选择"cae-backend"       |
   | 默认分支 | 选择"master"            |
      
   
   
4. 选择构建使用的模板。本案例使用的是java代码，所以选择"Maven"模板，单击"下一步"。
5. 进入"构建步骤"页面后，删除"上传软件包到软件发布库"步骤。 
   图2删除"上传软件包到软件发布库"步骤   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000002259983877.png "点击放大")
   
   
   
6. 选择"添加步骤"，单击"文件上传"，选择"制作镜像并推送到SWR仓库"，单击添加。 
   图3添加"制作镜像并推送到SWR仓库"步骤   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000002224989906.png "点击放大")
   
   
   
7. 进入"参数设置"页面，参考下图配置构建参数的名称、类型、默认值，并开启运行时设置。 
   其中"org_name"为上传到SWR镜像仓库的组织，"image_name"为上传到SWR镜像仓库的镜像名称，"image_tag"为镜像标签或镜像版本。
   图4配置自定义参数示例   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000002260007489.png "点击放大")
   
   
   
8. 进入"构建步骤"页面，配置"制作镜像并推送到SWR仓库"步骤。 
   设置组织参数、镜像名字参数、镜像标签参数。工作目录使用默认值，Dockerfile路径按照代码仓中的路径填写。本案例中的Dockerfile路径在代码仓根目录。
   图5配置"制作镜像并推送到SWR仓库"步骤   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000002225079930.png "点击放大")
   
   
   
9. 单击右上角"保持并执行"，确认运行时参数无误后，单击"确定"。
10. 在"构建历史"页面选择构建任务查看构建日志，如下图所示，已构建成功并制作镜像推送到SWR仓库。 
    图6查看构建日志   
    ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000002224750170.png "点击放大")
    
    
11. 登录[SWR控制台](https://console.huaweicloud.com/swr/)，在"我的镜像"中查看镜像已上传成功。
    
    图7查看镜像   
    ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000002225940362.png "点击放大")
    
    
    
 
 #### 步骤二：创建账号的委托信息
1. 使用具有创建委托权限的账号，登录[IAM控制台](https://console.huaweicloud.com/iam/#/iam/users)。
2. 在控制台上方选择一个区域。创建委托的区域需要和CAE环境所在的区域保持一致。
3. 在左侧导航栏选择"委托"。
4. 单击"创建委托"，填写委托名称，委托类型选择"普通账号"，委托的账号请填写需要运行流水线的账号，设置持续时间，单击"完成"。创建委托的详细参数说明请参见IAM服务的[创建委托](https://support.huaweicloud.com/usermanual-iam/iam_06_0002.html)。
5. 在弹出的弹框中，单击"立即授权"，立即为当前创建的委托进行授权。 
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000002260821453.png)
   
   
   
6. 在授权页面，搜索"CAE Fullaccess"权限，勾选"CAE Fullaccess"，单击"下一步 \> 确定 \> 完成"。
 
 #### 步骤三：创建CodeArts流水线，升级CAE组件
**创建CodeArts流水线**：
1. 进入[CodeArts控制台](https://console.huaweicloud.com/devcloud)，单击右上角"前往工作台"。
2. 在上方菜单栏选择"服务 \> 流水线"，进入"流水线"页面，单击"新建流水线"。 
   图8选择流水线   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000002260902793.png "点击放大")
   
   
   
3. 在新建流水线界面，参考下表设置流水线基本信息，单击"下一步"。 
   表2新建流水线参数示例 
   | 参数   | 本案例的示例             |
   |:---|:---|
   | 名称   | 填写**swr_pipeline** |
   | 所属项目 | 选择"cae-test"       |
   | 流水线源 | 选择"Repo"           |
   | 创建方式 | 选择"图形化编排"          |
   | 代码仓  | 选择"cae-backend"    |
   | 默认分支 | 选择"master"         |
      
   
   
4. 模板选择" 空模板"，单击"确定"。
5. 进入"任务编排"页面，单击"新建阶段"。 
   图9新建阶段   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000002225955694.png "点击放大")
   
   
   
6. 单击![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000002225793318.png)，将"阶段_1"改名为"构建"，将"阶段_2"改名为"部署"。
   
   图10编辑阶段的名称   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000002260835941.png "点击放大")
   
   
   
**在构建阶段新建任务**：
1. 在"构建"阶段，单击"新建任务"。 
   图11新建任务   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000002225961054.png "点击放大")
   
   
   
2. 在新建任务页面，选择"构建"页签，添加"Build构建"。 
   图12添加Build构建   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000002260842837.png "点击放大")
   
   
   
3. 在Build构建页面，参考下表设置参数信息，单击"确定"。 
   表3Build构建参数示例 
   | 参数         | 本案例的示例                             |
   |:---|:---|
   | 名称         | 保持默认**Build构建**                    |
   | 请选择需要调用的任务 | 选择步骤一创建的编译构建任务的名称"cae-backend-swr" |
   | 仓库         | 选择"cae-backend"                    |
   | org_name   | 填写**servicestage-test**            |
   | image_name | 填写**cae-backend**                  |
   | image_tag  | 填写**v1.0**                         |
      
   
   
4. 在控制台上方，选择"参数设置"页签，进入自定义参数设置页面，参考下图添加自定义参数，并开启运行时设置。 
   图13添加自定义参数   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000002225818132.png "点击放大")
   
   表4自定义参数说明 
   | **参数名称**    | 说明                                                                                                                                                                                                                                       |
   |:---|:---|
   | org_name    | 上传到SWR镜像仓库的组织，可以登录[SWR控制台](https://console.huaweicloud.com/swr/)查看。                                                                                                                                                                      |
   | image_name  | 上传到SWR镜像仓库的镜像名称，例如cae-backend。                                                                                                                                                                                                           |
   | image_tag   | 镜像标签或镜像版本，例如v1.0。                                                                                                                                                                                                                        |
   | swr_address | SWR镜像仓库地址。 值的格式：swr.区域项目名称.myhuaweicloud.com，区域项目名称就是region，参考[++参数值获取++](https://support.huaweicloud.com/bestpractice-cae/cae_05_0016.html#cae_05_0016__section044716476514)。 |
      
   
   
**在部署阶段新建任务**：
1. 在"部署"阶段，单击"新建任务"。 
   图14新建任务   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000002225821368.png "点击放大")
   
   
   
2. 在搜索框中搜索"CAE Cross-Account Deploy"，添加"CAE Cross-Account Deploy"。 
   图15添加CAE Cross-Account Deploy   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000002226014202.png "点击放大")
   
   
   
3. 参考下表设置参数，单击"确定"。 
   表5CAE Cross-Account Deploy参数示例 
   | 参数     | 本案例的示例                                                                                                                                                                                                                                            |
   |:---|:---|
   | 名称     | 填写**CAE发布**                                                                                                                                                                                                                                       |
   | 部署用户   | 选择"当前用户"                                                                                                                                                                                                                                          |
   | 区域选择   | 选择待部署的区域，待部署的区域需要与当前配置CodeArts所在区域保持一致。                                                                                                                                                                                                           |
   | 环境ID   | 选择组件所属环境ID。                                                                                                                                                                                                                                       |
   | 应用ID   | 选择组件所属应用ID。                                                                                                                                                                                                                                       |
   | 组件ID   | 选择待升级的组件ID，需要选择在CAE中使用镜像部署的组件。                                                                                                                                                                                                                    |
   | 组件版本号  | 填写组件的版本号。                                                                                                                                                                                                                                         |
   | 组件来源   | 选择"镜像"                                                                                                                                                                                                                                            |
   | 镜像地址   | 上传到SWR的镜像地址，值填写： ${swr_address}/${org_name}/${image_name}:${image_tag}。 当前账号构建完成后，该镜像地址会推送到当前账号的SWR中。把SWR的镜像共享给委托账号的详细操作，请参见SWR服务的[将私有镜像共享给其他账号](https://support.huaweicloud.com/usermanual-swr/swr_01_0026.html)。 |
   | 规格-CPU | 选择待部署的CPU的规格。                                                                                                                                                                                                                                     |
   | 规格-内存  | 选择待部署的内存的规格。                                                                                                                                                                                                                                      |
      
   
   
4. 在任务编排页面的右上方，单击"保存并执行"，弹出执行配置页面。
5. 确认执行配置信息无误后，在执行阶段配置一栏勾选"所有阶段"，单击"执行"。
6. 查看流水线执行结果。 
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000002226174030.png "点击放大")
   
   
7. 登录[CAE控制台](https://console.huaweicloud.com/cae)，在左侧导航栏选择"组件列表"。
8. 查看组件状态，"最近一次变更状态/时间"列显示状态为"升级成功"，则表示CodeArts流水线执行升级成功。
 
