文档首页/ 流水线 CodeArts Pipeline/ 最佳实践/ 通过流水线参数串联编译构建服务和部署服务
更新时间:2024-11-07 GMT+08:00

通过流水线参数串联编译构建服务和部署服务

方案概述

使用编译构建生成软件包并通过部署服务部署时,手动配置获取软件包容易导致软件包不一致,且页面跳转多操作繁琐。通过流水线参数串联编译构建服务和部署服务,将参数传递给构建任务和部署任务,实现任务间数据流动的统一,只需要配置好流水线参数,即可完成构建、部署任务的数据拉通。

操作流程

本文以版本号参数为例,介绍如何将流水线参数传递给编译构建任务和部署应用,基本操作流程如下:

步骤1:新建编译构建任务

步骤2:新建部署应用

步骤3:新建并执行流水线

步骤4:查看编译构建和部署结果

表1 操作流程说明

流程

说明

新编译构建任务

新建编译构建任务,新增版本号参数,并在构建步骤引用该参数。

新建部署应用

新建部署任务,新增软件包参数,并在部署步骤引用该参数。

新建并执行流水线

新建流水线,新增版本号参数,并在流水线上添加编译构建任务及部署应用。

  • 在编译构建任务的版本号参数引用流水线版本号参数。
  • 在部署应用软件包参数引用流水线版本号参数。

查看编译构建和部署结果

分别查看编译构建结果和部署结果。

  • 编译构建包版本号为流水线传递的动态参数。
  • 部署任务成功获取软件包。

准备工作

步骤1:新建编译构建任务

  1. 登录华为云控制台页面
  2. 单击页面左上角,在服务列表中选择“开发与运维 > 流水线 CodeArts Pipeline”。
  3. 单击“立即使用”,进入流水线服务首页。
  4. 单击顶部导航栏“首页”,在首页搜索准备工作中已创建的项目,单击项目名称,进入项目。
  5. 在左侧导航栏选择“持续交付 > 编译构建”,进入编译构建页面。
  6. 单击“新建任务”,填写基本信息。

    表2 构建任务基本信息

    参数项

    说明

    名称

    构建任务名称,输入“BuildTask01”。

    所属项目

    构建任务所在的项目,不可更改。

    代码源

    构建任务关联的代码源类型,选择“Repo”。

    代码仓

    选择准备工作中已创建的代码仓“Repo01”。

    默认分支

    默认使用的分支,选择“master”。

  7. 单击“下一步”,选择Maven系统模板,单击“确定”。
  8. 在“参数设置”页面,新建releaseversion参数并打开运行时设置。

    图1 新建构建参数

  9. 在“构建步骤”页面,单击“上传软件包到软件发布库”。发布版本号配置为参数引用形式“${releaseversion}”,引用releaseversion参数,其他参数保持默认。

    图2 配置构建步骤

  10. 单击“保存”,完成构建任务的创建。

步骤2:新建部署应用

  1. 在左侧导航栏选择“设置 > 通用设置 > 基础资源管理”,新建主机集群,并将已购买的主机加入集群。
  2. 在左侧导航栏选择“持续交付 > 部署”,进入部署页面。
  3. 单击“新建应用”,填写任务名称“DeployTask01”,单击“下一步”,选择“空白模板”,单击“确定”。
  4. 在“参数设置”页面,新建package_url参数并打开运行时设置。

    图3 新建部署参数

  5. 在“环境管理”页面,单击“新建环境”,命名为“Environment01”,并将集群中的主机导入环境。
  6. 在“部署步骤”页面,添加“选择部署来源”步骤,配置步骤信息。

    图4 配置部署步骤
    表3 配置部署步骤

    参数项

    说明

    步骤显示名称

    步骤名称。保持默认即可。

    选择源类型

    软件包来源。选择“制品仓库”

    环境

    部署环境。选择“Environment01”。

    选择软件包

    待部署的软件包。这里将获取构建任务上传至软件发布库的构建包,配置为参数引用形式“${package_url}”,引用package_url参数。

    下载到主机的部署目录

    软件包下载到目标主机的路径。输入“/usr/local”。

    控制选项

    保持默认。

  7. 单击“保存”,完成部署应用的创建。

步骤3:新建并执行流水线

  1. 在左侧导航栏选择“持续交付 > 流水线”,进入流水线页面。
  2. 单击“新建流水线”,根据需要配置流水线信息。

    1. 基本信息:配置以下信息,单击“下一步”。
      表4 流水线基本信息

      配置项

      配置建议

      名称

      流水线名称,输入“Pipeline01”。

      代码源

      流水线关联的代码源类型,选择“Repo”。

      代码仓

      选择准备工作中已创建的代码仓“Repo01”。

      默认分支

      默认使用的分支,选择“master”。

    2. 选择模板:选择“空模板”,单击“确定”。

  3. 在“参数设置”页面,新建releaseversion参数,默认值设置为${TIMESTAMP},并打开运行时设置。
  4. 在“任务编排”页面,系统默认生成两个阶段(“代码源”和“阶段_1”),单击“新建阶段”新增一个阶段“阶段_2”。

    图5 任务编排
    1. 添加编译构建任务
      1. 单击“阶段_1”的“新建任务”,弹出“新建任务”侧滑框。
      2. 单击“构建”分类,找到“Build构建”插件。
      3. 将鼠标移动到插件,单击“添加”,选择已创建的构建任务,选择构建任务关联的仓库,releaseversion参数配置为参数引用形式“${releaseversion}”,引用流水线的releaseversion参数。
      图6 添加构建任务
    2. 添加部署应用
      1. 单击“阶段_2”的“新建任务”,弹出“新建任务”侧滑框。
      2. 在搜索框输入“部署”关键字或单击“部署”分类,找到“Deploy部署”插件。
      3. 将鼠标移动到插件,单击“添加”,选择已创建的部署应用,输入package_url路径,并关联上一步的构建任务。
      图7 添加部署应用

      package_url为软件包地址,即构建包在软件发布库的相对路径(由构建任务名称、发布版本号和构建包拼接而成),且在路径中引用流水线的releaseversion参数。

  5. 任务编排完成后,单击“保存并执行”,开始执行流水线。

步骤4:查看编译构建和部署结果

流水线执行成功后,分别查看流水线参数在编译构建和部署任务之间传递的结果。

  • 查看编译构建结果
    1. 在左侧导航栏选择“制品仓库 > 软件发布库”。
    2. 展开左侧项目导航树,查看构建成功后上传的软件包。
      如图,可以看到相对路径中的版本号即流水线releaseversion参数传递过来的时间戳。
      图8 查看软件包
  • 查看部署结果
    1. 单击右上角用户名。
    2. 单击“CodeArts控制台”。
    3. 单击左上角,找到弹性云服务器服务,单击并进入。
    4. 找到本次部署使用的弹性云服务器,单击“操作”列“远程登录”。
    5. 选择“其他方式 > 使用控制台提供的VNC方式登录”,单击“立即登录”。
    6. 输入购买弹性云服务器时配置的用户名和密码,回车。
    7. 输入如下命令,回车,进入新建部署应用时配置的部署目录“/usr/local”。
      cd /usr/local
    8. 输入如下命令,回车,即可查看刚部署成功的软件包,说明参数正常传递部署应用成功获取到了软件包。
      ls -al
      图9 查看部署结果