使用CodeArts快速搭建项目(ECS篇)
本文基于CodeArts内置代码仓库,介绍如何使用CodeArts完成项目的开发、构建与部署,实现持续交付。
本文采用的ECS部署,若需了解CCE部署方法,请参考使用CodeArts快速搭建项目(CCE篇)。
准备工作
- 已购买CodeArts。
- 已购买弹性云服务器,购买时的必要配置可参考下表,表中未列出的配置可根据实际情况选择。完成购买后,参考配置安全组规则添加端口22及8080的入方向规则。
表1 弹性云服务器配置 配置分类
配置项
配置建议
基础配置
计费模式
选择“按需计费”。
CPU架构
选择“x86计算”。
规格
选择2核4G或以上规格。
镜像
选择
。网络配置
弹性公网IP
选择“现在购买”。
公网带宽
选择“按宽带计费”。
高级配置
登录凭证
选择“密码”。
密码
输入自定义密码。
新建项目
项目是使用CodeArts各服务的基础,创建项目后才能完成后续操作。
- 登录软件开发生产线控制台。
- 单击,选择区域。
- 单击“立即使用”
- 单击“新建项目”。
- 选择“Scrum”,输入项目名称“Demo”,单击“确定”。
新建代码仓库
代码仓库用于项目代码的版本管理,本文使用服务内置的模板“Java Web Demo”创建代码仓库。
- 单击导航栏 ,进入代码托管服务。
- 单击“新建仓库”。
- 根据需要选择“模板仓库”,单击“下一步”
- 选择模板“Java Web Demo”,单击“下一步”。
- 输入代码仓库名称“Web-Demo”,单击“确定”。
检查代码
通过代码检查服务,可以对代码进行静态检查,管控代码质量。
- 单击导航栏“Web-Demo-codecheck”。
,进入代码检查服务。页面中显示自动创建的任务
本文使用的是代码仓库模板关联的内置任务。
实际开发项目需要单击“新建任务”,根据业务场景自主创建任务,详细操作请参考新建代码检查任务。
- 单击任务所在行的“立即执行”启动任务。
如果代码检查任务已被执行,则单击任务名称进入概览页,单击“开始检查”重新执行任务。
- 当页面中显示时,表示任务执行成功。单击任务名称,进入任务的“概览”页面查看检查结果。
若任务执行失败,请根据页面弹出报错提示排查修改。
构建并归档软件包
通过编译构建服务,可将软件的源代码编译成目标文件,并把配置文件和资源文件等打包并归档到软件发布库中。
- 单击导航栏“Web-Demo-cloudbuild”。
,进入编译构建服务。页面中显示自动创建的任务
本文使用的是代码仓库模板关联的内置任务。
实际开发项目需要单击“新建任务”,根据业务场景自主创建任务,详细操作请参考新建构建任务。
- 单击任务所在行的启动任务。若出现弹窗,请确认参数设置准确后,单击“确定”。
- 当页面中显示时,表示任务执行成功。单击任务名称,进入构建历史页面,在列表中找到最新一次构建的构建编号,记录该编号。
若构建失败,请根据失败步骤信息与日志中的报错信息排查。
图1 构建编号
- 单击导航栏 ,进入软件发布库。
在与项目名称同名的仓库中,依次进入与构建任务同名的文件夹、与构建编号同名的文件夹,即可找到生成的软件包“demoapp.jar”。
图2 查看软件包
部署构建包
通过部署服务,可将软件发布库中的软件包部署到虚拟机,并启动运行。
- 配置目标主机。
- 单击导航栏 。
- 单击“新建主机集群”,输入集群名称“hosts”、选择操作系统“Linux”,单击“保存”。
- 单击“新增目标主机”,在弹框中配置以下信息,勾选同意声明后,单击“添加”。
- 页面显示一条主机记录,当“连通性验证”列的值显示为“成功”,表示主机添加完成。
若主机添加失败,请根据失败详情排查主机配置。
- 单击导航栏“Web-Demo-deploy”。
,进入部署服务。页面中显示自动创建的应用
本文使用的是代码仓库模板关联的内置应用。
实际开发项目需要单击“新建应用”,根据业务场景自主创建应用,详细操作请参考新建应用。
- 单击,在下列表中选择“编辑”,进入编辑页面。
- 选择“环境管理”页签,配置主机环境。
- 单击“新建环境”,输入环境名称“host-group”、选择资源类型“主机”、操作系统“Linux”,单击“保存”。
- 列表中新增一条环境记录,单击环境名称,在滑出的窗口中选择“资源列表”页签。
- 单击“导入主机”,在弹框中的下拉列表中选择1中创建的主机集群,并在列表中勾选主机,单击“导入”。
- 页面提示导入成功,关闭此窗口。
- 选择“参数设置”页签,参考下表配置参数。
参数名
参数值
host_group
选择4中添加的环境名称“host-group”。
package_url
无需此参数,单击对应行删除。
service_port
输入“8080”。
package_name
输入“demoapp”。
- 选择“部署步骤”页签,配置部署步骤。
- 停止SpringBoot服务:首次执行时,由于目标主机上还未有服务,执行该步骤会失败,因此不勾选“启用”选项。
- 安装JDK:修改jdk版本为“openjdk-1.8.0”。
- 选择部署来源:参考下表进行配置。
表3 部署来源配置 配置项
值
选择源类型
选择“构建任务”。
请选择构建任务
选择“Web-Demo-cloudbuild”。
下载到主机的部署目录
输入“/usr/local/${package_name}/”。
- URL健康测试:此步骤可有可无,根据需要选择是否启用(本文不勾选“启用”选项)。
- 单击“保存并部署”。若出现弹窗,请确认参数设置准确后,单击“确定”。
待页面显示。若部署失败,请根据失败步骤信息与日志中的报错信息排查。
- 查看部署结果。
打开一个新的浏览器页面,输入访问地址“http://IP:8080/test”,其中“IP”为准备工作中购买的ECS的IP。
若出现以下访问结果,表示部署成功。
图3 部署结果
配置流水线
通过流水线可以将代码检查、编译构建、部署等任务串联起来,当代码发生改变时,自动触发流水线执行,实现持续交付。
- 单击导航栏“流水线”页面中显示自动创建的流水线“Web-Demo-pipeline”。
,进入流水线服务。在
本文使用的是代码仓库模板关联的内置流水线。
实际开发项目需要单击“新建流水线”,根据业务场景自主创建流水线,详细操作请参考新建流水线。
- 单击,在下拉列表中选择“编辑”。
- 选择“任务编排”页签,配置流水线。
- 本文暂不涉及接口测试,因此需要将接口测试任务从流水线中移除。
图4 删除任务
- 单击任务“codecheck”
- 单击任务“deploy”,关联构建任务选择“cloudbuild”,其它配置项的值与部署构建包中的参数设置保持一致。
- 本文暂不涉及接口测试,因此需要将接口测试任务从流水线中移除。
- 选择“执行计划”页签,勾选“代码提交时触发”,在分支过滤下拉列表中勾选分支“master”。
图5 配置执行计划
- 单击“保存”,退出编辑。
- 进入部署服务,编辑部署步骤,在“停止SpringBoot服务”中勾选“启用”。
- 进入代码仓库,搜索并打开文件“TestController.java”。
单击,将“hello world”修改为“hello world again”,输入提交信息后单击“确定”。
图6 修改代码
- 返回流水线页面,可看到流水线正在运行中。
当页面显示时,重新访问页面“http://IP:8080/test”,访问结果将变为下图显示内容。
若任务执行失败,请于执行失败处检查失败原因,可打开步骤详情查看任务日志,根据日志进行排查。
图7 流水线执行结果
释放资源
为了避免不必要的费用产生,完成本示例体验后,可释放以下资源。
资源释放后无法恢复,请谨慎操作。
- 删除项目。
- 进入项目 页面。
- 单击“删除项目”,在弹框中输入项目名称,单击“删除”。
- 删除ECS。
- 登录ECS控制台,在列表中找到待删除的ECS,单击“更多”,在下拉列表中选择“删除”。
- 勾选弹框中的所有选项,单击“是”。