
# 通过流水线生成软件包并部署到主机
流水线服务本质上是一个可视化的自动化任务调度平台，需要配合华为云码道中编译构建、代码检查、测试计划、部署等服务的自动化任务使用，可根据需要自定义编排，自动化调度执行，避免频繁低效的手工操作。
本节通过新建一条简单的流水线，将构建任务、代码检查任务、部署任务串联起来，完成构建出包并部署到弹性云服务器，帮助用户快速建立对流水线的整体印象。
图1基本操作流程   
![](https://support.huaweicloud.com/qs-pipeline/zh-cn_image_0000001946432210.png)
#### 前提条件
- 已[开通并授权使用CodeArts Pipeline](https://support.huaweicloud.com/usermanual-pipeline/pipeline_01_0033.html)。
- 准备一台具有弹性IP的主机，可以使用已有主机，也可以[购买华为云弹性云服务器](https://support.huaweicloud.com/usermanual-ecs/ecs_03_7002.html)。
- 拥有创建项目的权限，满足如下条件之一即可：
  - 拥有Tenant Administrator角色权限。为用户授予Tenant Administrator角色权限的操作方法请参考[创建用户组并授权](https://support.huaweicloud.com/usermanual-iam/iam_03_0001.html)。
  
  - 拥有CodeArts项目创建者权限。为用户授予CodeArts项目创建者权限的操作方法请参考[设置CodeArts项目创建者](https://support.huaweicloud.com/usermanual-devcloud/codearts_01_0027.html#codearts_01_0027__section44198588514)。
   
 
 #### 准备工作
1. **新建项目**
   
   1. [登录华为云控制台页面](https://console.huaweicloud.com/console)。
   
   2. 单击页面左上角![](https://support.huaweicloud.com/qs-pipeline/zh-cn_image_0000001971343761.png)，在服务列表中选择"开发与运维 \> 流水线 CodeArts Pipeline"。
   
   3. 单击"立即使用"，进入流水线服务首页。
   
   4. 单击顶部导航栏"首页"，在CodeArts首页单击"新建项目"，选择"Scrum"项目模板，输入项目名称"Project01"。
   
   5. 单击"确定"，完成项目的创建。
   
   
   更详细操作指导请参见[新建Scrum项目](https://support.huaweicloud.com/qs-projectman/projectman_06_1000.html)。
   
   
2. **新建代码仓库和代码检查任务**
   
   1. 单击已创建的项目名称进入项目，在左侧导航栏选择"代码 \> 代码托管"，进入代码托管页面。
   
   2. 单击"新建仓库"，选择"按模板新建"，选择"Java Maven Demo"模板。
   
   3. 单击"下一步"，填写代码仓库名称"Repo01"。 新建代码仓库时会自动创建与代码仓库同名的代码检查任务，将代码检查任务名称修改为"CheckTask01"，操作方法请参考[创建代码检查任务](https://support.huaweicloud.com/usermanual-codecheck/codecheck_ug_0000.html)。
      
   
   4. 单击"确定"，完成代码仓库和代码检查任务的创建。
   
   
   更详细操作指导请参见[新建代码仓库](https://support.huaweicloud.com/usermanual-codeartsrepo/codeartsrepo_03_0077.html)。
   
   
3. **新建编译构建任务**
   
   1. 在左侧导航栏选择"持续交付 \> 编译构建"，进入编译构建页面。
   
   2. 单击"新建任务"，进入"新建构建任务"页面，根据需要配置任务信息。
      1. 配置基本信息：填写任务名称"BuildTask01"，选择Repo代码源，选择已经创建的代码仓库，选择默认分支master，单击"下一步"。
      
      2. 选择构建模板：选择Maven系统模板，单击"确定"，进入"构建步骤"页面，使用默认配置即可。
       
   
   3. 单击"保存"，完成构建任务的创建。
   
   
   更详细操作指导请参见[新建编译构建任务](https://support.huaweicloud.com/usermanual-codeci/codeci_01_0001.html)。
   
   
4. **新建部署应用**
   
   1. 在左侧导航栏选择"设置 \> 通用设置 \> 基础资源管理"，新建主机集群，并将已购买的主机加入集群。
   
   2. 在左侧导航栏选择"持续交付 \> 部署"，进入部署页面。
   
   3. 单击"新建应用"，填写任务名称"DeployTask01"，单击"下一步"，选择"空白模板"，单击"确定"。
   
   4. 进入"部署步骤"页面，添加"选择部署来源"步骤，根据需要配置步骤信息。
      - 选择源类型：选择"构建任务"。
      
      - 环境：单击"新建"，切至"环境管理"页面，单击"新建环境"，输入环境名称，单击"保存"，进入"资源列表"页面，将主机导入环境。
      
      - 请选择构建任务：选择[已创建的构建任务]。
      
      - 下载到主机的部署目录：输入主机的目录，如：/usr/local。
      
      - 其他参数保持默认即可。
       
   
   5. 单击"保存"，完成部署应用的创建。
   
   
   更详细操作指导请参见[新建部署应用](https://support.huaweicloud.com/usermanual-deployman/deployman_hlp_00004.html)。
   
   
 
#### 新建流水线
1. 单击[已创建的项目]名称，进入项目，在左侧导航栏选择"持续交付 \> 流水线"，进入流水线页面。
2. 单击"新建流水线"，根据需要配置流水线信息。 
   1. 基本信息：配置以下信息，单击"下一步"。
      表1流水线基本信息 
      | 配置项  | 配置建议                                                         |
      |:---|:---|
      | 名称   | 流水线名称，支持中文、大小写英文字母、数字、"-"、"_"，长度不超过128个字符，输入"pipeline01"。    |
      | 流水线源 | 流水线关联的源类型，选择"Repo"。                                          |
      | 代码仓  | 流水线关联的代码仓库，选择[已创建的代码仓库]。 |
      | 默认分支 | 仓库默认分支，手工或定时执行流水线时默认使用的分支，选择"master"分支。                      |
         
      
   
   2. 选择模板：选择"空模板"，单击"确定"。
   
   
   
   
3. 进入"任务编排"页面，系统默认生成两个阶段（"流水线源"和"阶段_1"），单击"新建阶段"新增一个阶段"阶段_2"。 
   图2任务编排   
   ![](https://support.huaweicloud.com/qs-pipeline/zh-cn_image_0000002530873466.png)
   1. 添加代码检查任务
      1. 单击"阶段_1"的"新建任务"，弹出"新建任务"侧滑框。
      
      2. 单击"代码检查"分类，找到"Check代码检查"插件。
      
      3. 将鼠标移动到插件，单击"添加"，选择[已创建的代码检查任务]，选择"Full"检查模式。
      
      
      图3添加代码检查任务   
      ![](https://support.huaweicloud.com/qs-pipeline/zh-cn_image_0000002286503486.png) 
   
   2. 添加编译构建任务
      1. 单击"阶段_1"的"并行任务"，或单击代码检查任务下的![](https://support.huaweicloud.com/qs-pipeline/zh-cn_image_0000001919858694.png)，选择"从空任务新建"，弹出"从空任务新建"侧滑框。**代码检查任务和编译构建任务可以并行也可以串行。**
      
      2. 单击"构建"分类，找到"Build构建"插件。
      
      3. 将鼠标移动到插件，单击"添加"，选择[已创建的构建任务]，选择构建任务关联的仓库。
      
      
      图4添加构建任务   
      ![](https://support.huaweicloud.com/qs-pipeline/zh-cn_image_0000002321063445.png) 
   
   3. 添加部署应用
      1. 单击"阶段_2"的"新建任务"，选择"从空任务新建"，弹出"从空任务新建"侧滑框。
      
      2. 在搜索框输入"部署"关键字或单击"部署"分类，找到"Deploy部署"插件。
      
      3. 将鼠标移动到插件，单击"添加"，选择[已创建的部署应用]并关联上一步的构建任务。
      
      
      图5添加部署应用   
      ![](https://support.huaweicloud.com/qs-pipeline/zh-cn_image_0000001951409202.png) 
    
   
   
4. 任务编排完成后，单击"保存"，完成流水线配置。
5. [执行流水线]，查看流水线执行结果。
 
 #### 执行流水线
1. 返回流水线列表页面，单击流水线所在行的![](https://support.huaweicloud.com/qs-pipeline/zh-cn_image_0000001919883322.png)，选择"手动执行"。
2. 弹出"执行配置"弹窗，保持默认配置，单击"执行"。
3. 单击流水线名称，进入"执行历史"页面。
4. 单击"执行信息"下的历史记录执行编号，切换至"流水线详情"页面，可实时查看流水线执行进展及任务执行状态。 
   单击任务卡片，可以查看对应任务日志。
   
   
5. 若流水线执行失败，可根据报错提示排查失败原因，详情可参考[常见问题](https://support.huaweicloud.com/pipeline_faq/pipeline_faq_0023.html)。
 
#### 查看流水线执行结果
1. 单击右上角用户名。
2. 单击"CodeArts控制台"。
3. 单击左上角![](https://support.huaweicloud.com/qs-pipeline/zh-cn_image_0000002246761373.png)，找到弹性云服务器服务，单击并进入。
4. 找到本次部署使用的弹性云服务器，单击"操作"列"远程登录"。
5. 选择"其他方式 \> 使用控制台提供的VNC方式登录"，单击"立即登录"。
6. 输入购买弹性云服务器时配置的用户名和密码，回车。
7. 输入如下命令，回车，进入[新建部署应用]时配置的部署目录"/usr/local"。
   
   ```
   cd /usr/local
   ```
   
   
8. 输入如下命令，回车，即可查看刚部署成功的软件包。 
   ```
   ls -al
   ```
   图6查看流水线执行结果   
   ![](https://support.huaweicloud.com/qs-pipeline/zh-cn_image_0000001948954133.png)
   
   
 
#### 相关信息
流水线服务预置了一系列常用系统模板，用户可以基于模板快速创建流水线，更多模板信息请参见[管理流水线模板](https://support.huaweicloud.com/usermanual-pipeline/pipeline_01_0001.html#section2)。
