
# 流水线构建软件包上传到obs桶后升级CAE组件
#### 创建编译构建任务
创建代码仓库的构建任务：
1. 进入[CodeArts控制台](https://console.huaweicloud.com/devcloud)，单击右上角"立即使用"。
2. 在菜单栏选择"服务 \> 编译构建"。 
   图1选择服务   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001830548653.png "点击放大")
   
   
3. 在"编译构建"页面单击"新建任务"，在基本信息中填入"任务名称"，并选择"归属项目"、"源码源"、"源码仓库"和"分支"，单击"下一步"。 
   图2配置构建基本信息   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001740091697.png "点击放大")
   
   
4. 选择构建使用的模板（此示例使用的为java代码，故此步选择Maven模板）后，单击"下一步"。 
   图3选择构建模板   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001692481688.png "点击放大")
   
   
5. 进入"构建步骤"页面后，选择"添加步骤"，单击"文件上传"，选择"上传文件到OBS"，单击"添加"。 
   图4文件上传   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001692133250.png "点击放大")
   
   
6. 进入"参数设置"页面，参考[图5]配置构建参数和默认值，并开启运行时设置。bucket_name：上传到obs的桶名称，如caetest。
   
   - file_name：上传到obs桶中的软件包名称，如cae-backend.jar。
   
   
   图5配置构建参数   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001830428621.png "点击放大")
   
   
7. 进入"构建步骤"页面，删除"上传软件包到软件发布库"步骤。 
   图6删除"上传软件包到软件发布库"步骤   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001692134600.png "点击放大")
   
   
8. 在弹框中单击"确定"，完成删除。
9. 配置"上传文件到OBS"参数。 
   - "配置构建产物路径"为"\*\*/target/\*.?ar"。
   
   - "桶名"使用参数"${bucket_name}"。
   
   - "OBS存储目录"使用默认配置。
   
   - "OBS存储文件名"使用参数"${file_name}"。
   
   
   图7配置"上传文件到OBS"参数   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001783828936.png "点击放大")
   
   
10. 单击右上角"新建并执行"，确认运行时参数无误后，单击"确定"。 
    图8执行任务   
    ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001740092797.png "点击放大")
    
    
11. 查看构建日志，等待构建成功并成功上传软件包到OBS中。 
    图9查看构建日志   
    ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001741550069.png "点击放大")
    
    
12. 登录OBS控制台，在OBS桶中查看软件包已上传成功。 
    图10查看OBS桶   
    ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000002165900341.png "点击放大")
    
    
 
#### 创建流水线使用OBS软件包升级CAE组件
创建Codearts流水线：
1. 返回Codearts控制台首页。
2. 在菜单栏选择"服务 \> 流水线"，在"流水线"页面单击"新建流水线"。 
   图11选择服务   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001830548661.png "点击放大")
   图12新建流水线   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001830545341.png "点击放大")
   
   
3. 在"新建流水线"界面，输入"名称"并选择"流水线源"、"代码仓"和"默认分支"，单击"下一步"。 
   图13配置流水线基本信息   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001740093697.png "点击放大")
   
   
4. 模板选择"无 \> 空模板"，单击"确定"。 
   图14选择模板   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001692481692.png "点击放大")
   
   
5. 进入"任务编排"页面后，单击"新建阶段"。单击![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001693850464.png "点击放大")将"阶段_1"改名为"构建"，"阶段_2"改名为"部署"。
   
   图15新建阶段   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001740586201.png "点击放大")
   
   
6. 新建构建任务。 
   - 在"构建"阶段，单击"新建任务"。
     1. 进入"新建任务"页面，单击"构建"，选择"Build构建"任务，并单击"添加"。
        图16新建任务   
        ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001694009924.png "点击放大")
        图17添加"Build构建"任务   
        ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001783828108.png "点击放大") 
     
     2. 选择前一步创建的"编译构建任务"和"仓库"，并将创建编译构建任务[6]配置的"bucket_name"和"file_name"设置为流水线参数，单击"确定"。
        图18bucket_name   
        ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001830464389.png "点击放大")
        图19file_name   
        ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001783864706.png "点击放大") 
      
   
   - 在"部署"阶段，单击"新建任务"。
     1. 在搜索框中输入"CAE"，并单击![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001694009956.png)。选择"CAE发布"插件，单击"添加"。
        图20添加部署任务   
        ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001830560865.png "点击放大") 
     
     2. 配置插件参数后，单击"确定"。
        - 区域选择：待部署的区域，与当前CodeArts在同一个Region。
        
        - 环境：选择组件所属环境。
        
        - 应用：选择组件所属应用。
        
        - 组件：选择待升级的组件（需要选择在CAE中使用软件包部署的组件）。
        
        - 组件来源：选择"软件包"。
        
        - 运行时：选择软件包对应的运行时。
        
        - 软件包仓库：选择"OBS"。
        
        - 软件包地址：取值见[参数说明]。
        
        
        图21配置插件参数   
        ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001745800089.png "点击放大") 
     
     3. 进入"参数设置"页面，参考[参数说明]添加自定义参数。
        - bucket_name：obs桶名称，如caetest。
        
        - file_name：上传到obs桶中的软件包名称，如cae-backend.jar。
        
        - file_dir：软件包上传到obs桶中的存放目录，如根目录是"/"，根目录下面的test目录"/test/"。
        
        - obs_address：为OBS桶的地址，名称格式为：obs.区域项目名称.myhuaweicloud.com。
        
        
        图22配置自定义参数   
        ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001831188885.png "点击放大") 
      
   
   
   
   
7. 单击"保存并执行"，进入执行配置页面，确认执行配置信息无误后，单击"执行"。 
   图23执行任务   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001740349353.png "点击放大")
   图24确认流水线配置信息   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001830788533.png "点击放大")
   
   
8. 自动跳转至流水线详情页面，查看流水线执行结果。 
   图25查看流水线执行结果   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001784641368.png "点击放大")
   
   
9. [登录CAE控制台](https://support.huaweicloud.com/usermanual-cae/cae_03_0001.html#section1)，在组件列表查看组件状态，"最近一次变更状态/时间"列显示状态为"升级成功"，则表示Codearts流水线执行升级成功。
   
   图26查看组件状态   
   ![](https://support.huaweicloud.com/bestpractice-cae/zh-cn_image_0000001830974689.png "点击放大")
   
   
 
 #### 参数说明
表1参数说明 
| 参数名称        | 是否必须 | 参数类型   | 描述                                                                                                                                                               |
|:---|:---|:---|:---|
| bucket_name | 是    | String | obs桶名称，CAE发布插件中选择的区域和obs桶所在的区域保持一致。                                                                                                                              |
| file_name   | 是    | String | 上传到obs桶中的软件包名称。                                                                                                                                                  |
| file_dir    | 是    | String | 软件包上传到obs桶中的存放目录，目录需要以/结尾，如果obs桶中没有这个目录，会自动创建出该目录。如根目录是"/"，根目录下面的test目录"/test/"。                                                                                 |
| obs_address | 是    | String | 值的格式为：obs.区域项目名称.myhuaweicloud.com，区域项目名称就是region，参考[参数值获取](https://support.huaweicloud.com/bestpractice-cae/cae_05_0016.html#cae_05_0016__section044716476514)。 |
| 软件包地址       | 是    | String | 上传到obs的软件包地址，值填写： https://${bucket_name}.${obs_address}${file_dir}${file_name}。                                                                                  |
   
