使用CodeArts快速搭建项目(CCE篇)
本文基于CodeArts内置代码仓库,介绍如何使用CodeArts完成项目的开发、构建与部署,实现持续交付。
本文介绍采用CCE部署方式,若需了解ECS部署方法,请参考使用CodeArts快速搭建项目(ECS篇)。
准备工作
- 已购买CodeArts。
- 已购买CCE集群,购买时的必要配置请参考表1与表2,表中未列出的配置保持默认即可。
- 已在容器镜像服务中创建组织,本文中创建的组织名称为“web-demo”。
新建项目
项目是使用CodeArts各服务的基础,创建项目后才能完成后续操作。
- 登录软件开发生产线控制台。
- 单击,选择区域。
- 单击“立即使用”
- 单击“新建项目”。
- 选择“Scrum”,输入项目名称“Demo”,单击“确定”。
新建代码仓库
代码仓库用于项目代码的版本管理,本文使用服务内置的模板“Java Web Demo”创建代码仓库。
- 单击导航栏 ,进入代码托管服务。
- 单击“新建仓库”。
- 根据需要选择“模板仓库”,单击“下一步”
- 选择模板“Java Web Demo”,单击“下一步”。
- 输入代码仓库名称“Web-Demo”,单击“确定”。
准备Dockerfile
Dockerfile是用于构建镜像的文本文件,其中包含了构建镜像所需的指令和说明。了解Dockerfile更详细说明,请参见Docker官网。
- 单击仓库名称,进入代码仓库。
- 单击文件列表上方“新建”,在下拉列表中选择“新建文件”。
图1 新建文件
- 输入文件名Dockerfile,文件详情输入以下命令行。
FROM openjdk:8-alpine ADD target /demo COPY ./target/demoapp.jar /demo CMD ["java","-jar","/demo/demoapp.jar"]
- 输入备注信息,单击“确定”。
构建并推送镜像
通过编译构建任务将软件的源代码编译成镜像,并把镜像推送归档到容器镜像服务(SWR)中。
- 单击导航栏 ,进入编译构建服务。
- 单击“新建任务”,配置任务信息。
- 基本信息:配置以下信息,单击“下一步”。
表3 构建任务基本信息 配置项
配置建议
任务名称
输入自定义名称(本文中为“Web-Demo-docker”)。
源码源
选择“Repo”。
源码仓库
选择“Web-Demo”。
分支
选择“master”。
- 构建模板:选择“空白构建模板”,单击“下一步”。
- 基本信息:配置以下信息,单击“下一步”。
- 配置构建步骤。
- 单击“点击添加构建步骤”,在步骤列表中找到“Maven构建”,单击“添加”。
- 单击“添加步骤”,在步骤列表中找到“制作镜像并推送到SWR仓库”,单击“添加”。
- 参照下表配置步骤“制作镜像并推送到SWR仓库”(表中未涉及的字段保持默认配置即可)。
表4 配置镜像信息 配置项
配置建议
组织
输入在准备工作中创建的组织名称“web-demo”。
镜像标签
v1.0.0
- 完成配置,单击“新建并执行”。
当页面中显示时,表示任务执行成功。若构建失败,请根据失败步骤信息与日志中的报错信息排查。
- 登录容器镜像服务控制台,在页面左侧导航栏中选择 。
页面中有一条镜像名称为“demo”,所属组织为“web-demo”的记录。
单击镜像名称查看详情,镜像版本为“v1.0.0”。
图2 查看镜像
创建负载
在云容器引擎(CCE)中创建无状态负载(Deployment),用于加载运行demo镜像。
- 登录云容器引擎控制台,单击在准备工作中购买的集群,进入详情页。
- 在页面左侧导航选择“创建负载”,参考下表完成配置,单击“创建工作负载”。
,单击
表5 创建工作负载 配置分类
配置项
配置建议
基本信息
负载类型
选择“无状态负载”。
负载名称
自定义,本文中为“web-demo”。
实例数量
选择“1”。
容器配置
镜像名称
单击“选择镜像”,在弹框中勾选“demo”,单击“确定”。
更新策略
勾选“总是拉取镜像”。
镜像版本
选择“v1.0.0”。
高级配置
升级策略
升级方式选择“替换升级”。
- 页面提示创建成功,单击“查看工作负载详情”,返回负载详情页面,实例列表中显示一条记录。
当该记录的状态为“运行中”时,选择“访问方式”页签,单击“创建”,参考下表完成创建服务配置,单击“确定”。
若实例状态异常,请参考工作负载异常排查处理。
表6 配置访问方式 配置项
配置建议
Service名称
自定义,本文中为“web-demo”。
访问类型
选择“负载均衡”。
服务亲和
选择“集群级别”。
负载均衡器
选择“web-demo-test”),勾选已阅读须知。
,自定义实例名称(本文中为说明:若账号下已有负载均衡器,可选择
,并选择已存在的负载均衡器名称。端口配置
- 协议:TCP
- 容器端口:8080
- 服务端口:8080
- 列表中显示一条记录,当服务名称出显示为时,将鼠标悬浮在访问类型下的负载均衡器名称处,在弹窗中复制公网地址。
图3 复制访问地址
- 打开新的浏览器页面,输入“http://IP:8080/test”,其中IP为4中复制的公网地址。
若出现以下访问结果,表示镜像部署并运行成功。
图4 部署结果
部署镜像
通过在部署服务中创建应用,将镜像部署自动化。
- 返回CodeArts页面,单击导航栏
,进入部署服务。
- 单击“新建应用”,输入应用名称(本文中为“web-demo-k8s”),单击“下一步”。
- 选择“空白模板”,单击“确定”。
- 在步骤列表中搜索并添加步骤“Kubernetes快速部署(CCE集群)”,参考下表完成步骤配置。
- 单击“保存并部署”。
当页面显示时,表示测试通过。若部署失败,请根据失败步骤信息与日志中的报错信息排查。
配置流水线实现自动化更新镜像部署
通过配置流水线,将代码仓库、构建、部署串联起来,当代码仓库中发生代码提交动作时,可以自动触发流水线的执行,实现持续交付。
- 单击导航栏 ,进入流水线服务。
- 单击“新建流水线”,配置流水线。
- 基本信息:配置以下信息,单击“下一步”。
表8 流水线基本信息 配置项
配置建议
名称
输入“pipeline-web-demo”。
流水线源
选择“Repo”。
代码库名称
选择“Web-Demo”。
默认分支
选择“master”。
- 模板:选择“空模板”,单击“确定”。
- 基本信息:配置以下信息,单击“下一步”。
- 配置工作流。
- 单击“阶段_1”后的,在“编辑阶段”窗口中输入阶段名称“构建”,单击“确定”。
图5 编辑阶段名称
- 单击“新建任务”。
在“新建任务”窗口中,单击“Build构建”插件后的“添加”。
图6 添加任务
- 参考下表配置任务信息,单击“确定”。
表9 编辑构建任务 配置项
配置建议
名称
输入自定义名称(本文中保持默认值)。
请选择需要调用的任务
选择“Web-Demo-docker”。
仓库
选择“Web-Demo”。
- 单击“新建阶段”,并修改阶段名称为“部署”。
- 单击“新建任务”,添加插件“Deploy部署”。
- 选择调用任务“web-demo-k8s”、关联构建任务选择3.c设置的任务名称。
- 单击“阶段_1”后的,在“编辑阶段”窗口中输入阶段名称“构建”,单击“确定”。
- 选择“执行计划”页签,勾选“代码提交时触发”,在分支过滤下拉列表中勾选分支“master”,单击“保存”。
图7 配置执行计划
- 进入代码仓库,搜索并打开文件“TestController.java”。
单击,将“hello world”修改为“hello world again”,输入提交信息后单击“确定”。
图8 修改代码
- 返回流水线页面,可看到流水线正在运行中。
当页面显示时,重新访问页面“http://IP:8080/test”,访问结果将变为下图显示内容。
若任务执行失败,请于执行失败处检查失败原因,可打开步骤详情查看任务日志,根据日志进行排查。
图9 流水线执行结果
释放资源
为了避免不必要的费用产生,完成本示例体验后,可释放以下资源。
资源释放后无法恢复,请谨慎操作。
- 删除项目。
- 进入项目 页面。
- 单击“删除项目”,在弹框中输入项目名称,单击“删除”。
- 删除组织与镜像。
- 登录容器镜像服务控制台。
- 在“我的镜像”页面中,勾选本文中创建的镜像,单击“删除”。在弹框中单击“是”。
- 在“组织管理”页面中,单击待删除组织的名称,进入详情页。
单击“删除”,在弹框中单击“是”。
- 删除集群。
- 登录云容器引擎控制台。在列表中找到待删除的集群,单击。
- 勾选弹框中的所有选项,单击“是”。