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

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

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

本文采用的部署方式为CCE部署,适用于容器化部署场景。

如果您希望使用传统软件包部署方法,请参考使用CodeArts快速搭建基于ECS部署的代码开发流水线

准备工作

  1. 已注册华为云并实名认证。如果您还没有华为账号,请参考以下步骤创建。
    1. 注册华为账号并开通华为云
    2. 完成实名认证
  2. 购买CCE集群,购买时的必要配置请参考表1表2,表中未列出的配置保持默认即可。
    表1 集群购买配置

    配置分类

    配置项

    配置建议

    基础配置

    集群类型

    选择“CCE Standard 集群”。

    计费模式

    选择“按需计费”。

    集群版本

    建议选择最新版本。

    网络配置

    网络模型

    选择“VPC网络”。

    虚拟私有云

    选择已有的虚拟私有云,如果列表中没有合适的选项,单击“新建虚拟私有云”完成创建。

    控制节点子网

    选择已有的子网,如果列表中没有合适的选项,单击“新建子网”完成创建。

    容器网段

    勾选“自动设置网段”。

    表2 节点配置

    配置分类

    配置项

    配置建议

    计算配置

    计费模式

    选择“按需计费”。

    节点类型

    选择“弹性云服务器-虚拟机”。

    节点规格

    选择2核8G及以上规格即可。

    容器引擎

    选择“Docker”。

    操作系统

    选择“公共镜像 > CentOS 7.6”。

    登录方式

    选择“密码”。

    密码

    输入自定义密码。

    网络配置

    节点IP

    选择“随机分配”。

    弹性公网IP

    选择“暂不使用”。

  3. 已在容器镜像服务中创建名称为“web-demo”的组织,操作方法请参考创建组织

    如果页面提示“组织已存在”,请自定义其它名称。

开通CodeArts体验版

  1. 进入购买CodeArts套餐页面
  2. 选择“体验版”,勾选同意声明,单击“立即开通”。
  3. 开通成功,返回“软件开发生产线”页面,列表中显示已开通套餐记录。

新建项目

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

  1. 在CodeArts控制台单击“立即使用”。
  2. 单击“新建项目”,选择“Scrum”,输入项目名称“Demo”,单击“确定”。

新建代码仓库

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

  1. 单击导航栏“代码 > 代码托管”,进入代码托管服务。
  2. 单击“新建仓库”,选择“模板仓库”,单击“下一步”。
  3. 选择模板“Java Web Demo”,单击“下一步”。
  4. 输入代码仓库名称“Web-Demo”,单击“确定”。

准备Dockerfile

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

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

    图1 新建文件

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

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

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

构建并推送镜像

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

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

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

      配置项

      配置建议

      名称

      输入“Web-Demo-docker”。

      代码源

      选择“Repo”。

      代码仓

      选择“Web-Demo”。

      分支

      选择“master”。

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

  3. 配置构建步骤。

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

      配置项

      配置建议

      组织

      输入在准备工作中创建的组织名称(“web-demo”)。

      镜像标签

      v1.0.0

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

    当页面中显示时,表示任务执行成功。如果构建失败,请根据失败步骤信息与日志中的报错信息排查。

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

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

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

    图2 查看镜像

创建负载

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

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

    表5 创建工作负载

    配置分类

    配置项

    配置建议

    基本信息

    负载类型

    选择“无状态负载”。

    负载名称

    输入“web-demo”。

    实例数量

    选择“1”。

    容器配置

    镜像名称

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

    更新策略

    勾选“总是拉取镜像”。

    镜像版本

    选择“v1.0.0”。

    高级配置

    升级策略

    升级方式选择“替换升级”。

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

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

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

    表6 配置访问方式

    配置项

    配置建议

    Service名称

    输入“web-demo”。

    访问类型

    选择“负载均衡”。

    服务亲和

    选择“集群级别”。

    负载均衡器

    • 选择“共享型 > 自动创建”。
    • 实例名称:输入“web-demo-test”。
    • 弹性公网:选择“自动创建”。

    端口配置

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

  5. 列表中显示一条记录。

    当该记录中显示时,将鼠标悬浮在访问类型下的负载均衡器名称处,在弹窗中复制公网地址。
    图3 复制访问地址

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

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

    图4 部署结果

部署镜像

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

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

    1. 单击“新建应用”。
    2. 输入应用名称“web-demo-k8s”,单击“下一步”。
    3. 选择“空白模板”,单击“确定”。

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

    表7 配置部署步骤

    配置项

    配置建议

    区域

    选择集群所在的区域。

    集群名称

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

    命名空间名称

    选择“default”。

    工作负载名称

    选择“web-demo”。

    容器名称

    选择创建负载时,容器配置部分的容器名称。

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

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

配置流水线实现自动化更新镜像部署

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

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

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

      配置项

      配置建议

      名称

      输入“pipeline-web-demo”。

      代码源

      选择“Repo”。

      代码仓

      选择“Web-Demo”。

      默认分支

      选择“master”。

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

  3. 配置工作流。

    1. 单击“阶段_1”后的,在“编辑阶段”窗口中输入阶段名称“构建”,单击“确定”。
      图5 编辑阶段名称
    2. 单击“新建任务”。

      在“新建任务”窗口中,单击“Build构建”插件后的“添加”。

      图6 添加任务
    3. 参考下表配置任务信息,单击“确定”。
      表9 编辑构建任务

      配置项

      配置建议

      名称

      保持默认值即可。

      请选择需要调用的任务

      选择“Web-Demo-docker”。

      仓库

      选择“Web-Demo”。

    4. 单击“新建阶段”,并修改阶段名称为“部署”。
    5. 单击“新建任务”,添加插件“Deploy部署”。
    6. 选择调用任务“web-demo-k8s”、关联构建任务选择3.c设置的任务名称。

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

    图7 配置执行计划

  5. 单击“保存”,退出编辑。
  6. 进入代码仓库,搜索并打开文件“TestController.java”。

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

    图8 修改代码

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

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

    如果任务执行失败,请于执行失败处检查失败原因,可打开步骤详情查看任务日志,根据日志进行排查。

    图9 流水线执行结果

后续操作

为了避免不必要的费用产生,完成本示例体验后,可以释放部分不再使用的资源。

可以释放的资源如下。

表10 释放资源

资源名称

操作步骤

CodeArts项目

进入项目的“设置 > 通用设置 > 基本信息”页面,单击“删除项目”,根据页面提示完成删除操作。

SWR组织、镜像

  1. 登录SWR控制台。
  2. 在“我的镜像”页面中,勾选本文中创建的镜像,单击“批量删除”,根据页面提示完成删除操作。
  3. 在“组织管理”页面中,单击待删除组织的名称,进入详情页。单击“删除”,根据页面提示完成删除操作。

CCE集群

登录CCE控制台。在列表中找到待删除的集群,单击,选择“删除集群”,根据页面提示完成删除操作。

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

相关文档