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

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

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

本文采用的部署方式为CCE部署,适用于容器化部署场景。如果您希望使用传统软件包部署方法,请参考使用CodeArts快速搭建基于ECS部署的代码开发流水线

操作流程

操作步骤

说明

准备工作

注册华为账号并开通华为云,为账户充值,购买CCE,创建SWR组织。

步骤一:开通CodeArts体验版

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

步骤二:新建项目

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

步骤三:新建代码仓库

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

步骤四:准备Dockerfile

创建用于构建镜像的文本文件“Dockerfile”,其中包含了构建镜像所需的指令和说明。了解Dockerfile更详细说明,请参见Docker官网

步骤五:构建并推送镜像

通过编译构建任务将软件的源代码编译成镜像,并把镜像推送归档到SWR中。

步骤六:创建负载

在CCE中创建无状态负载(Deployment),用于加载运行demo镜像。

步骤七:部署镜像

通过在部署服务中创建应用,将镜像部署自动化。

步骤八:配置流水线

通过配置流水线,将代码仓库、构建、部署串联起来,当代码仓库中发生代码提交动作时,可以自动触发流水线的执行,实现持续交付。

释放资源

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

准备工作

  • 已购买满足以下配置的CCE集群。
    表1 集群配置要求

    配置分类

    配置要求

    参考

    集群

    建议选择按需计费。

    • 集群类型:CCE Standard集群。
    • 集群版本:建议选择最新版本。
    • 控制节点架构:X86。
    • 容器网络模型:VPC网络。
    • 容器网段:自动设置网段。

    购买Standard/Turbo集群

    节点

    建议选择按需计费。

    • 节点类型:弹性云服务器-虚拟机。
    • 节点规格:2vCPUs | 8GiB或以上规格。
    • 容器引擎:Docker。
    • 操作系统:公共镜像-CentOS 7.6。

    创建节点

  • 已在容器镜像服务中创建名称为“web-demo”的组织(如果页面提示“组织已存在”,请自定义其它名称。),操作方法请参考创建组织

步骤一:开通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”),单击“确定”。

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

步骤四:准备Dockerfile

  1. 单击仓库名称,进入代码仓库。
  2. 单击文件列表上方“新建”,在下拉列表中选择“新建文件”。

    图1 新建文件

  3. 输入文件名Dockerfile,文件详情输入以下代码。

    FROM openjdk:8-alpine
    ADD target /demo
    COPY ./target/demoapp.jar /demo
    CMD ["java","-jar","/demo/demoapp.jar"]

  4. 输入备注信息,单击“提交”。

步骤五:构建并推送镜像

  1. 单击导航栏“持续交付 > 编译构建”,进入编译构建服务。
  2. 单击“新建任务”,配置任务信息。

    1. 基本信息:配置以下信息,单击“下一步”。
      表2 构建任务基本信息

      配置项

      示例

      说明

      名称

      Web-Demo-docker

      自定义构建任务名称。支持中英文、数字、下划线“_”、“-”,长度不超过115个字符。

      代码源

      Repo

      选择构建任务的代码来源,支持Repo、GitHub等多种来源。

      代码仓

      Web-Demo

      选择需要编译的代码仓库。

      默认分支

      master

      选择需要编译的代码仓库分支。

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

  3. 配置构建步骤。

    1. 单击“点击添加构建步骤”,在步骤列表中找到“Maven构建”,单击“添加”。
    2. 单击“添加步骤”,在步骤列表中找到“制作镜像并推送到SWR仓库”,单击“添加”。
    3. 参照下表配置步骤“制作镜像并推送到SWR仓库”(表中未涉及的字段保持默认配置即可)。
      表3 配置镜像信息

      配置项

      示例

      说明

      组织

      输入在准备工作中创建的组织名称。

      选择镜像推送到SWR后所属的组织。

      镜像标签

      v1.0.0

      自定义用来标记镜像的版本。支持大小写字母、数字、“.”、“_”、“-”,不可以“.”或“-”开头,最多可包含128个字符。

  4. 完成配置,单击“保存并执行”。

    当页面中显示时,表示任务执行成功。如果构建失败,请根据失败步骤信息与日志中的报错信息,参考编译构建常见问题排查处理。

  5. 登录容器镜像服务控制台,在页面左侧导航栏中选择“我的镜像”。

    页面中有一条镜像名称为“demo”,所属组织为“web-demo”的记录。

    单击镜像名称查看详情,镜像版本为“v1.0.0”。

    图2 查看镜像

步骤六:创建负载

  1. 登录云容器引擎控制台,单击在准备工作中购买的集群,进入详情页。
  2. 在页面左侧导航选择“工作负载”,单击“创建工作负载”。
  3. 参考下表完成配置,单击“创建工作负载”。

    配置项详细说明请参考创建无状态负载
    表4 创建工作负载

    配置分类

    配置项

    示例

    基本信息

    负载类型

    无状态负载

    负载名称

    web-demo

    实例数量

    1

    容器配置

    镜像名称

    单击“选择镜像”,在弹框中勾选“demo”,单击“确定”。

    更新策略

    勾选“总是拉取镜像”

    镜像版本

    v1.0.0

    高级配置

    升级策略

    替换升级

  4. 待页面提示创建成功,单击“查看工作负载详情”,返回负载详情页面,“实例列表”页签中显示一条记录。

    当该记录的状态为“运行中”时,选择“访问方式”页签,单击“创建”,参考下表完成创建服务配置,单击“确定”。

    配置项详细说明请参考创建负载均衡类型的服务

    如果实例状态异常,请参考工作负载异常排查处理。

    表5 配置访问方式

    配置项

    示例

    Service名称

    web-demo

    访问类型

    负载均衡

    服务亲和

    集群级别

    负载均衡器

    1. 选择“共享型 > 自动创建”。
    2. 配置以下信息:
      • 实例名称:web-demo-test。
      • 弹性公网IP:自动创建。

    端口配置

    • 协议:TCP。
    • 容器端口:8080。
    • 服务端口:8080。

    创建成功后,列表中显示一条新增记录。

  5. 刷新页面,查看访问方式列表,当列表中显示时,将鼠标悬浮在访问类型下的负载均衡器名称处,在弹窗中复制公网地址。

    图3 复制访问地址

  6. 打开新的浏览器页面,输入“http://IP:8080/test”,其中IP为5中复制的公网地址。

    如果出现以下访问结果,表示负载运行成功。

    图4 部署结果

步骤七:部署镜像

  1. 返回CodeArts页面,单击导航栏“持续交付 > 部署”,进入部署服务。

    1. 单击“新建应用”,输入应用名称(应用名称仅支持中英文、数字、“-”、“_”,长度为3-128个字符,本文中使用“web-demo-k8s”),单击“下一步”。
    2. 选择“空白模板”,单击“确定”。

  2. 在步骤列表中搜索并添加步骤“Kubernetes快速部署(CCE集群)”,参考下表完成步骤配置。

    表6 配置部署步骤

    配置项

    示例

    说明

    区域

    选择准备工作中购买的集群所在的区域。

    选择目标集群所在的区域。

    集群名称

    选择准备工作中购买的集群名称。

    选择目标集群的名称。

    命名空间名称

    default

    选择目标集群中的命名空间。

    工作负载名称

    web-demo

    选择需要部署的工作负载。

    容器名称

    选择步骤六:创建负载时,在“容器配置”部分显示的容器名称。

    选择需要部署的容器实例名。

  3. 单击“保存并部署”。

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

步骤八:配置流水线

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

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

      配置项

      示例

      说明

      名称

      pipeline-web-demo

      自定义流水线名称。支持中文、大小写英文字母、数字、“-”、“_”,长度不超过128个字符。

      流水线源

      Repo

      选择流水线的代码来源。支持Repo、通用Git等多种来源。

      代码仓

      Web-Demo

      选择流水线关联的代码仓库名称。

      默认分支

      master

      选择流水线关联的代码仓库分支。

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

  3. 配置工作流。

    1. 单击“阶段_1”后的,在“编辑阶段”窗口中输入阶段名称(阶段名称支持中文、大小写英文字母、数字、“-”、“_”、“,”、“;”、“:”、“.”、“/”、“(”、“)”、“(”、“)”、空格,其中空格不可在名称开头或结尾使用,长度为1-128个字符。此处使用“构建”),单击“确定”。
      图5 编辑阶段名称
    2. 单击“新建任务”选择“从空任务新建”,页面右侧滑出“从空任务新建”窗口。
    3. 在列表中找到“Build构建”,单击“添加”。
      图6 添加任务
    4. 参考下表配置任务信息,单击“确定”。
      表8 编辑构建任务

      配置项

      示例

      说明

      名称

      保持默认值即可。

      自定义任务名称。支持中文、大小写英文字母、数字、“-”、“_”、“,”、“;”、“:”、“.”、“/”、“(”、“)”、“(”、“)”、空格,其中空格不可在名称开头或结尾使用,长度为1-128个字符。

      请选择需要调用的任务

      Web-Demo-docker

      选择本项目下和当前流水线源配置代码仓相同、或构建来源配置为来自流水线的构建任务。

      仓库

      Web-Demo

      选择构建任务关联的代码仓库。

    5. 单击“新建阶段”,并修改阶段名称为“部署”。添加成功后,页面中显示新增的阶段。
    6. 单击“新建任务”,添加插件“Deploy部署”。
    7. 选择调用任务“web-demo-k8s”、关联构建任务选择3.d设置的任务名称,单击“确定”。

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

    图7 配置执行计划

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

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

  6. 进入代码仓库,搜索并打开文件“TestController.java”。

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

    图8 修改代码

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

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

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

    图9 流水线执行结果

释放资源

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

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

如果完成体验后不再使用CCE,建议参考删除按需计费的集群,释放该资源。