文档首页/ 软件开发生产线 CodeArts/ 快速入门/ 使用CodeArts快速搭建基于ECS部署的代码开发流水线
更新时间:2025-08-20 GMT+08:00
分享

使用CodeArts快速搭建基于ECS部署的代码开发流水线

本文基于CodeArts内置代码仓库,介绍如何使用CodeArts完成项目的开发、构建与部署,实现持续交付。

本文采用的部署方式为ECS部署,适用于传统软件包部署场景。

如果您希望使用容器化部署方法,请参考使用CodeArts快速搭建基于CCE部署的代码开发流水线

操作流程

操作步骤

说明

准备工作

注册华为账号并开通华为云、实名认证,为账户充值,购买ECS。

步骤一:开通CodeArts体验版

CodeArts支持包年/包月计费,使用CodeArts前需要完成购买,开通体验版即可完成本文中的操作流程。

步骤二:新建项目

项目是使用CodeArts各服务的基础,创建项目后才能完成后续操作。

步骤三:新建代码仓库

代码仓库用于项目代码的版本管理,本文使用服务内置的模板“Java Web Demo”创建代码仓库。

步骤四:检查代码

通过代码检查服务,可以对代码进行静态检查,管控代码质量。

步骤五:构建并归档软件包

通过编译构建服务,可将软件的源代码编译成目标文件,并把配置文件和资源文件等打包并归档到软件发布库中。

步骤六:部署构建包

通过部署服务,可将软件发布库中的软件包部署到虚拟机,并启动运行。

步骤七:配置流水线

通过流水线可以将代码检查、编译构建、部署等任务串联起来,当代码发生改变时,自动触发流水线执行,实现持续交付。

释放资源

按需计费的资源会产生持续计费,为了避免不必要的费用产生,完成体验后,可以释放不再使用的资源。

准备工作

  • 参考自定义购买ECS,购买满足以下配置的ECS。
    • 计费模式:建议选择按需计费。
    • CPU架构:x86计算。
    • 节点规格:2vCPUs | 4GiB或以上规格,系统盘≥80GiB。
    • 操作系统:公共镜像-CentOS 7.6
    • 弹性公网IP:自动创建。

    完成购买后,参考配置安全组规则添加两条入方向规则。

    • 协议为“TCP”、端口为“22”、源地址为“0.0.0.0/0”。
    • 协议为“TCP”、端口为“8080”、源地址为“0.0.0.0/0”。

步骤一:开通CodeArts体验版

  1. 进入购买CodeArts套餐页面
  2. 选择“体验版”,勾选同意声明,单击“立即开通”。

    待开通成功,在“软件开发生产线”页面中显示已开通套餐记录。

步骤二:新建项目

  1. 在CodeArts控制台单击“进入工作台”。
  2. 在CodeArts首页单击“新建 > 新建项目”,进入新建项目页面。
  3. 选择模板“Scrum”。
  4. 输入项目名称(项目名称不超过128个字符,本文中使用“Demo”),单击“确定”。

    新建项目成功,页面自动跳转至“工作项”页面。

步骤三:新建代码仓库

  1. 在项目中单击导航栏“代码 > 代码托管”,进入代码托管服务。
  2. 单击“新建仓库”,进入新建仓库页面。
  3. 选择“按模板新建”,单击“下一步”。
  4. 选择模板“Java Web Demo”,单击“下一步”。
  5. 输入代码仓库名称(代码仓库名称需以大小写字母、数字、下划线开头,可包含大小写字母、数字、中划线、下划线、英文句点,但不能以.git、.atom或.结尾,本文中使用“Web-Demo”),单击“确定”。

    新建代码仓库成功,页面跳转至仓库内,显示仓库的代码文件列表。

步骤四:检查代码

  1. 单击导航栏“代码 > 代码检查”,进入代码检查服务。

    页面中显示自动创建的任务“Web-Demo-check”。

  2. 单击,选择“设置”。
  3. 单击导航“规则集”,在规则中关闭“CSS”、“HTML”后的开关

    图1 编辑规则集

  4. 单击“开始检查”,启动任务。

    当页面中显示时,表示任务执行成功。

    如果任务执行失败,请根据报错提示,参考代码检查常见问题排查处理。

  5. 单击“代码问题”页签查看问题列表。

    由于无致命或严重问题,本文中暂不修改代码。

步骤五:构建并归档软件包

  1. 单击导航栏“持续交付 > 编译构建”,进入编译构建服务。

    页面中显示自动创建的任务“Web-Demo-build”。

  2. 单击任务所在行的启动任务。如果出现弹窗,请确认参数设置准确后,单击“确定”。

    当页面中显示时,表示任务执行成功。

    如果构建失败,请根据失败步骤信息与日志中的报错信息,参考编译构建常见问题排查处理。

  3. 单击任务名称,查看任务详情。在“构建历史”页面找到最新一次构建的构建编号,记录该编号。

    图2 构建编号

  4. 单击导航栏“制品仓库 > 软件发布库”,进入软件发布库。

    在“仓库视图”中找到与项目名称同名的仓库,依次进入文件夹“Web-Demo-build > 3中记录构建编号”,即可找到生成的软件包“demoapp.jar”。

    图3 查看软件包

步骤六:部署构建包

  1. 配置目标主机。

    1. 单击导航栏“设置 > 通用设置 > 基础资源管理”,进入基础资源管理页面。
    2. 单击“新建主机集群”,配置以下基本信息,单击“保存”。
      表1 新建主机集群

      配置项

      示例

      说明

      集群名称

      host-group

      自定义主机集群名称,仅支持3-128位数字、中文、英文字母、“-”、“_”“.”。

      操作系统

      Linux

      选择加入集群的主机的操作系统类型,可以选择“Linux”或“Windows”。

      主机联通方式

      直连模式

      选择部署服务与目标主机的联通方式,可以选择“直连模式”或“代理模式”。

      执行主机

      官方资源池

      资源池是部署软件包时执行部署命令的物理环境的集合。

      可以选择服务提供的“官方资源池”,也可以将自有的服务器作为资源池。

    3. 待页面提示新建主机集群成功,在“目标主机”页签中单击“添加或导入主机”,选择添加方式“导入已购ECS”,在列表中找到准备工作中购买的ECS,单击“导入”。
      图4 导入ECS
    4. 配置以下信息,单击“确定”。
      表2 添加主机

      配置项

      示例

      说明

      用户名

      root

      ECS的登录用户名,Linux主机通常为“root”。

      密码

      输入在准备工作中购买ECS时设置的密码。

      ECS的登录密码。

      ssh端口

      22

      通常为“22”,也可以自定义端口。

    5. 页面显示一条主机记录,当“连通性验证”列的值显示为“成功”时,表示主机添加完成。

      如果主机添加失败,请根据失败详情,参考主机管理常见问题排查处理。

  2. 单击导航栏“持续交付 > 部署”,进入部署服务。

    页面中显示自动创建的应用“Web-Demo-deploy”。

  3. 单击,选择“编辑”,进入编辑页面。
  4. 选择“环境管理”页签,配置主机环境。

    1. 单击“新建环境”,配置以下基本信息,单击“保存”。
      表3 新建环境

      配置项

      示例

      说明

      环境名称

      demo-env

      自定义环境名称,仅支持3-128位数字、中文、英文字母、“-”、“_”、“.”。

      资源类型

      主机

      环境中的资源类型,默认为“主机”。

      操作系统

      Linux

      选择即将添加到环境中的主机的操作系统类型,可以选择“Linux”或“Windows”。

    2. 待页面提示创建成功,在“资源列表”页签中单击“导入主机”,在弹框中选择1中配置的主机集群和主机,单击“导入”。
    3. 待页面提示导入成功,关闭此窗口。

  5. 选择“部署步骤”页签,配置部署步骤。

    • 安装JDK:确认jdk版本为“openjdk-1.8.0”。
    • 选择部署来源:参考下表进行配置,其他配置保持默认。
      表4 部署来源配置

      配置项

      示例

      说明

      选择源类型

      构建任务

      软件包的来源,可以选择“制品仓库”或“构建任务”。

      请选择构建任务

      Web-Demo-build

      当“选择源类型”为“构建任务”时,显示此配置项。

      下载到主机的部署目录

      /usr/local/${package_name}/

      软件包在目标主机中的保存路径。

    • 启动/停止SpringBoot服务:首次执行部署时,由于目标主机上还未启动过SpringBoot服务,执行该步骤会失败,因此建议禁用此步骤,单击步骤卡片上的,选择“禁用”。
      图5 禁用“停止SpringBoot服务”

    • 启动SpringBoot服务:保持默认配置即可。
    • URL健康测试:此步骤为可选步骤,本文中选择禁用此步骤。

  6. 选择“参数设置”页签,参考下表配置参数。

    表5 配置参数

    名称

    默认值

    host_group

    选择4中添加的环境名称“demo-env”。

    package_url

    无需此参数,单击对应行删除。

    service_port

    输入“8080”。

    package_name

    输入“demoapp”。

  7. 单击“保存并部署”。如果出现弹窗,请确认参数设置准确后,单击“确定”。

    待页面显示。如果部署失败,请根据失败步骤信息与日志中的报错信息,参考部署常见问题排查处理。

  8. 查看部署结果。

    打开一个新的浏览器页面,输入访问地址“http://IP:8080/test”,其中“IP”为准备工作中购买的ECS的弹性公网IP。

    如果出现以下访问结果,表示部署成功。

    图6 部署结果

步骤七:配置流水线

  1. 单击导航栏“持续交付 > 流水线”,进入流水线服务。

    在“流水线”页签中显示自动创建的流水线“Web-Demo-pipeline”。

  2. 单击,选择“编辑”。
  3. 选择“任务编排”页签,配置流水线。

    1. 本文暂不涉及接口测试,因此需要将接口测试任务从流水线中移除。

      单击任务“测试”对应,在弹框中单击“确定”。

      图7 删除任务
    2. 单击任务“部署”,关联构建任务选择“构建”,其它配置项的值与步骤六:部署构建包中的参数设置保持一致。

  4. 选择“执行计划”页签,勾选“代码提交时触发”,在分支过滤下拉列表中勾选分支“master”。

    图8 配置执行计划

  5. 单击“保存”,退出编辑。

    保存成功,页面显示更新后的执行计划。

  6. 进入部署服务,编辑部署步骤,启用步骤“停止SpringBoot服务”。
  7. 进入代码仓库,搜索并打开文件“TestController.java”。

    单击,将“hello world”修改为“hello world again”,输入提交信息后单击“确定”。

    图9 修改代码

  8. 返回流水线页面,可看到流水线正在运行中。

    当页面显示时,重新访问页面“http://IP:8080/test”,访问结果将变为下图显示内容。

    如果流水线执行失败,可单击失败原因提示,打开日志,参考流水线常见问题排查处理。

    图10 流水线执行结果

释放资源

资源释放后无法恢复,请谨慎操作。

本文中涉及的按需计费资源为ECS。

如果完成体验后不再使用ECS,建议参考删除弹性云服务器释放该资源。

相关文档

本文采用的代码检查、构建、部署、流水线等任务均为代码仓库模板关联的内置任务。在实际开发项目时可参考以下指导自主创建任务。

表6 创建任务参考

服务

操作方法

代码检查

参考新建代码检查任务

编译构建

参考新建构建任务

部署

参考新建应用

流水线

参考新建流水线

相关文档