华为云CodeArts产品体验
一、软件开发生产线使用流程
1.1 前提条件
- 拥有已实名认证的帐号。若没有,请先注册帐号并完成实名认证。
- 已购买软件开发生产线。
- 若需要向主机中部署应用,则需要准备一台具有弹性IP的主机,可以使用已有主机,也可以购买华为云弹性云服务器。
我这里没有免费ESC的体验资格,所以就购买了一个按需计费的
配置分类 | 配置项 | 配置建议 |
---|---|---|
基础配置 | 计费模式 | 选择“按需计费” |
CPU架构 | 选择“x86计算” | |
规格 | 选择“通用计算型”、2核4G或以上规格 | |
镜像 | 选择“公共镜像 > CentOS > CentOS 7.6 64bit(40GB)” | |
网络配置 | 弹性公网IP | 选择“现在购买” |
公网带宽 | 选择“按宽带计费” | |
高级配置 | 登录凭证 | 选择“密码” |
密码 | 输入自定义密码 |
1.2 配置项目
需求管理服务是使用软件开发生产线各服务的基础,首先需要创建项目、添加项目成员,然后可以根据项目规划添加工作项
1.创建项目。
登录软件开发生产线,单击“新建项目”。
选择项目类型,输入项目名称,单击“确定”。
2.添加项目成员
- 进入已创建的项目,单击导航栏“设置 > 通用设置 > 成员管理”。
- 在页面右上角选择“添加成员”,或者“通过链接邀请”。
- 其中,添加成员的方式有从本企业用户添加、从其他项目导入用户、邀请其他企业用户,请根据实际情况选择。
3.创建工作项
- 进入已创建的项目,单击导航栏“工作”,选择“工作项”页签。
- 单击“新建”,选择工作项类型,根据实际情况输入工作项标题、优先级、处理人等信息。
1.3 配置代码仓库
1.安装并配置Git客户端。(如果已经有了,请省略)
通过Git官网下载安装包,并使用默认配置安装Git客户端到本地电脑。
- 运行Git Bash,Git Bash中输入以下命令行配置用户名和邮箱。
git config --global user.name "您的名字" git config --global user.email "您的邮箱"
- 输入以下命令行,生成一对SSH密钥。生成的密钥通常保存在“~/.ssh/id_rsa.pub”中。
ssh-keygen -t rsa -C "您的邮箱"
- 输入以下命令可显示密钥内容。
1 | cat ~/.ssh/id_rsa.pub |
2.创建代码仓库
- 进入已创建的项目,单击导航栏“代码 > 代码托管”
- 根据需要选择普通新建、按模板新建或导入外部仓库,按照页面提示输入仓库名称等基本信息,单击“确定”
- 代码仓库创建成功后,在仓库里列表页面单击仓库名称,可查看仓库内的文件。
3.克隆/推送代码
-
单击页面右上角用户名,在下拉列表中选择“个人设置”。
-
单击导航“代码托管 > SSH密钥管理”。
-
单击“添加SSH密钥”,输入标题,将负责安装并配置Git客户端中生成的密钥粘贴到文本框中,勾选同意声明,单击“确定”。
-
返回代码托管服务页面,单击待克隆的仓库名称,进入仓库。
-
单击“克隆/下载”,复制仓库SSH下载链接。
-
运行Git Bash,输入以下命令行,克隆云端仓库到本地。
git clone 您仓库的SSH下载链接
-
在本地完成代码的编辑后,在Git Bash中依次输入以下命令行,保存代码并推送到代码仓库。
git add . git commit -m "您对本次提交备注的信息" git push origin master
-
返回代码仓库,即可查看更新后的文件。
1.4配置流水线
软件开发生产线使用流程_软件开发生产线 CodeArts_快速入门_华为云 (huaweicloud.com)
二、使用软件开发生产线快速搭建项目(ECS篇)
2.1 准备工作
- 拥有已实名认证的帐号。若没有,请先注册帐号并完成实名认证。
- 已购买软件开发生产线。
- 已购买弹性云服务器,购买时的必要配置可参考下表,表中未列出的配置可根据实际情况选择。完成购买后,参考配置安全组规则添加端口22及8080的入方向规则。
配置安全规则
源地址需要改成 IP地址 不然后面访问不成这个端口
2.2 新建项目
项目是使用软件开发生产线各服务的基础,创建项目后才能完成后续操作
- 登录软件开发生产线,单击“新建项目”
- 选择“Scrum”,输入项目名称“Demo”,单击“确定”
2.3 新建代码仓库
代码仓库用于项目代码的版本管理,本文使用服务内置的模板“Java Web Demo”创建代码仓库
1.单击导航栏“代码 > 代码托管”,进入代码托管服务
2.单击页面“普通新建”旁边的,选择“按模板新建”
3.选择模板“Java Web Demo”,单击“下一步”
4.输入代码仓库名称“Web-Demo”,单击“确定”
2.4检查代码
通过代码检查服务,可以对代码进行静态检查,管控代码质量
1.单击导航栏“代码 > 代码检查”,进入代码检查。页面中显示自动创建的任务“Web-Demo-codecheck”。
2.单击任务所在行的“立即执行”启动任务
3.当页面中显示时,表示任务执行成功。单击任务名称,进入任务的“概览”页面查看检查结果
若任务执行失败,请参考代码检查常见问题排查处理
2.5 构建并归档软件包
通过编译构建服务,可将软件的源代码编译成目标文件,并把配置文件和资源文件等打包并归档到软件发布库中
1.单击导航栏“持续交付 > 编译构建”,进入编译构建服务。页面中显示自动创建的任务“Web-Demo-cloudbuild”
2.单击任务所在行的启动任务。若出现弹窗,请确认参数设置准确后,单击“确定”
3.当页面中显示时,表示任务执行成功。单击任务名称,进入构建历史页面,在列表中找到最新一次构建的构建编号,记录该编号。若构建失败,请参考编译构建常见问题排查处理
4.单击导航栏“制品仓库 > 软件发布库”,进入软件发布库。在与项目名称同名的仓库中,依次进入与构建任务同名的文件夹、与构建编号同名的文件夹,即可找到生成的软件包“demoapp.jar”
2.6 部署构建包
通过部署服务,可将软件发布库中的软件包部署到虚拟机,并启动运行
1.配置目标主机
- 单击导航栏“设置 > 通用设置 > 基础资源管理”
- 单击“新建主机集群”,输入集群名称“hosts”、选择操作系统“Linux”、关闭**“使用代理机接入”**开关,单击“保存”
- 单击“新增目标主机”,在弹框中配置以下信息,勾选同意声明后,单击“添加”
配置项 | 配置建议 |
---|---|
主机名 | 输入自定义主机名称。为了方便辨认,可与在准备工作中购买的ECS的名称保持一致。 |
IP | 输入在准备工作中购买的ECS的IP。 |
用户名 | 输入“root”。 |
密码 | 输入在准备工作中购买的ECS时设置的密码。 |
ssh端口 | 输入“22”。 |
- 页面显示一条主机记录,当“连通性验证”列的值显示为“成功”,表示主机添加完成。若主机添加失败,请参考部署-常见问题-主机管理排查。
2.单击导航栏“持续交付 > 部署”,进入部署服务。页面中显示自动创建的应用“Web-Demo-deploy”
3.单击,在下列表中选择“编辑”,进入编辑页面。
4.选择“环境管理”页签,配置主机环境。
- 单击“新建环境”,输入环境名称“host-group”、选择资源类型“主机”、操作系统“Linux”,单击“保存”。
- 列表中新增一条环境记录,单击环境名称,在滑出的窗口中选择“资源列表”页签。
- 单击“导入主机”,在弹框中的下拉列表中选择创建的主机集群,并在列表中勾选主机,单击“导入”。
- 页面提示导入成功,关闭此窗口。
5.选择“参数设置”页签,参考下表配置参数。
参数名 | 参数值 |
---|---|
host_group | 选择之前添加的环境名称“host-group”。 |
package_url | 无需此参数,单击对应行删除。 |
service_port | 输入“8080”。 |
package_name | 输入“demoapp”。 |
6.选择“部署步骤”页签,配置部署步骤
- 停止SpringBoot服务:首次执行时,由于目标主机上还未有服务,执行该步骤会失败,因此不勾选“启用”选项。
- 安装JDK:修改jdk版本为“openjdk-1.8.0”。
- 选择部署来源:参考下表进行配置。
配置项 | 值 |
---|---|
选择源类型 | 选择“构建任务”。 |
请选择构建任务 | 选择“Web-Demo-cloudbuild”。 |
下载到主机的部署目录 | 输入“/usr/local/${package_name}/”。 |
- URL健康测试:此步骤可有可无,根据需要选择是否启用(本文不勾选“启用”选项)。
7.单击“保存并部署”。
若出现弹窗,请确认参数设置准确后,单击“确定”。待页面显示。若部署失败,请参照部署常见问题排查
8.查看部署结果
打开一个新的浏览器页面,输入访问地址“http://IP:8080/test”,其中“IP”为[准备工作](https://support.huaweicloud.com/qs-devcloud/devcloud_qs_0001.html#devcloud_qs_0001__section1339018509168)中购买的ECS的IP
若出现以下访问结果,表示部署成功
2.7 配置流水线
通过流水线可以将代码检查、编译构建、部署等任务串联起来,当代码发生改变时,自动触发流水线执行,实现持续交付
1.单击导航栏“持续交付 > 流水线”,进入流水线服务。在“流水线”页面中显示自动创建的流水线“Web-Demo-pipeline”
2.单击,在下拉列表中选择“编辑”。
3.选择“任务编排”页签,配置流水线。
- 本文暂不涉及接口测试,因此需要将接口测试任务从流水线中移除。单击任务“apitest”对应,在弹框中单击“确定”
- 单击任务“deploy”,关联构建任务选择“cloudbuild”,其它配置项的值与
2.6部署构建包
中的参数设置保持一致
4.选择“执行计划”页签,勾选“代码提交时触发”,在分支过滤下拉列表中勾选分支“master”
5.单击“保存”,退出编辑
6.进入部署服务,编辑部署步骤,在“停止SpringBoot服务”中勾选“启用”
7.进入代码仓库,搜索并打开文件“TestController.java”。单击,将“hello world”修改为“hello world again”,输入提交信息后单击“确定”。
8.返回流水线页面,可看到流水线正在运行中。当页面显示时,重新访问页面“http://IP:8080/test”,访问结果将变为下图显示内容
2.8 释放资源
- 删除项目。
- 进入项目“设置 > 通用设置 > 基本信息”页面。
- 单击“删除项目”,在弹框中输入项目名称,单击“删除”。
- 删除ECS。
- 登录弹性云服务器控制台。在列表中找到待删除的ECS,单击“更多”,在下拉列表中选择“删除”。
- 勾选弹框中的所有选项,单击“是”。
三、使用软件开发生产线快速搭建项目(CCE篇)
3.1 准备工作
1.拥有已实名认证的帐号。若没有,请先注册华为帐号并开通华为云并完成实名认证
2.已购买软件开发生产线
3.已购买CCE集群,购买时的必要配置请参考下表,表中未列出的配置保持默认即可
集群购买
配置分类 | 配置项 | 配置建议 |
---|---|---|
基础配置 | 计费模式 | 选择“按需计费”。 |
集群版本 | 建议选择最新版本。 | |
网络配置 | 网络模型 | 选择“VPC网络”。 |
容器网段 | 勾选“自动设置网段”。 |
集群创建时间稍微有一些长,大概5分钟左右
节点配置
单击创建的集群,进入集群控制台。在左侧菜单栏选择节点管理,单击右上角“创建节点”,在弹出的页面中配置节点的参数。
配置分类 | 配置项 | 配置建议 |
---|---|---|
计算配置 | 计费模式 | 选择“按需计费”。 |
节点类型 | 选择“弹性云服务器-虚拟机”。 | |
节点规格 | 选择2核8G及以上规格即可。 | |
容器引擎 | 选择“Docker”。 | |
操作系统 | 选择“公共镜像 > CentOS 7.6” | |
登录方式 | 选择“密码”。 | |
密码 | 输入自定义密码。 | |
网络配置 | 节点IP | 选择“随机分配”。 |
弹性公网IP | 选择“暂不使用”。 |
4.已在容器镜像服务中创建组织,本文中创建的组织名称为“web-demo”(这里需要自己随便取一个,我取的是yh-demo)
- 登录容器镜像服务控制台。
- 单击控制台左上角的,选择区域和项目。
- 在左侧导航栏单击“组织管理”,进入组织管理页面。
- 单击页面右上角的“创建组织”按钮,在弹框中填写“组织名称”,然后单击“确定”
3.2 新建项目
项目是使用软件开发生产线各服务的基础,创建项目后才能完成后续操作
- 登录软件开发生产线,单击“新建项目”
- 选择“Scrum”,输入项目名称“Demo”,单击“确定”
3.3 新建代码仓库
代码仓库用于项目代码的版本管理,本文使用服务内置的模板“Java Web Demo”创建代码仓库。
- 单击导航栏“代码 > 代码托管”,进入代码托管服务
- 单击页面“普通新建”旁边的,选择“按模板新建”
- 选择模板“Java Web Demo”,单击“下一步”
- 输入代码仓库名称“Web-Demo”,单击“确定”
3.4 准备Dockerfile
Dockerfile是用于构建镜像的文本文件,其中包含了构建镜像所需的指令和说明。了解Dockerfile更详细说明,请参见Docker官网
-
单击仓库名称,进入代码仓库
-
单击文件列表上方“新建”,在下拉列表中选择“新建文件”
-
输入文件名Dockerfile,文件详情输入以下命令行
1
2
3
4FROM openjdk:8-alpine
ADD target /demo
COPY ./target/demoapp.jar /demo
CMD ["java","-jar","/demo/demoapp.jar"] -
输入备注信息,单击“确定”
3.5 构建并推送镜像
通过编译构建任务将软件的源代码编译成镜像,并把镜像推送归档到容器镜像服务(SWR)中
-
单击导航栏“持续交付 > 编译构建”,进入编译构建服务。
-
单击“新建任务”,配置任务信息。
-
基本信息:配置以下信息,单击“下一步”
配置项 配置建议 任务名称 输入自定义名称(本文中为“Web-Demo-docker”)。 源码源 选择“Repo”。 源码仓库 选择“Web-Demo”。 分支 选择“master”。 -
构建模板:选择“空白构建模板”,单击“下一步”。
-
-
配置构建步骤。
- 单击“点击添加构建步骤”,在步骤列表中找到“Maven构建”,单击“添加”。
- 单击“添加步骤”,在步骤列表中找到“制作镜像并推送到SWR仓库”,单击“添加”。
-
参照下表配置步骤“制作镜像并推送到SWR仓库”(表中未涉及的字段保持默认配置即可)。
配置项 配置建议 组织 输入在准备工作中创建的组织名称“web-demo”(我的是yh-demo)。 镜像标签 v1.0.0
-
完成配置,单击“新建并执行”。当页面中显示时,表示任务执行成功。若构建失败,请参考编译构建常见问题排查处理
-
登录容器镜像服务控制台,在页面左侧导航栏中选择“我的镜像”。页面中有一条镜像名称为“demo”,所属组织为“web-demo”的记录。单击镜像名称查看详情,镜像版本为“v1.0.0”。
3.6 创建负载
在云容器引擎(CCE)中创建无状态负载(Deployment),用于加载运行demo镜像
-
在页面左侧导航选择“工作负载”,单击“创建负载”,参考下表完成配置,单击“创建工作负载”。
配置分类 配置项 配置建议 基本信息 负载类型 选择“无状态负载”。 负载名称 自定义,本文中为“web-demo”。 实例数量 选择“1”。 容器配置 镜像名称 单击“选择镜像”,在弹框中勾选“demo”,单击“确定”。 更新策略 勾选“总是拉取镜像”。 镜像版本 选择“v1.0.0”。 高级配置 升级策略 升级方式选择“替换升级”。
-
页面提示创建成功,单击“查看工作负载详情”,返回负载详情页面,实例列表中显示一条记录。
当该记录的状态为“运行中”时,选择“访问方式”页签,单击“创建”,参考下表完成创建服务配置,单击“确定”若实例状态异常,请参考工作负载异常排查处理
配置项 配置建议 Service名称 自定义,本文中为“web-demo”。 访问类型 选择“负载均衡”。 服务亲和 选择“集群级别”。 负载均衡器 选择“共享型 > 自动创建”,自定义实例名称(本文中为“web-demo-test”),勾选已阅读须知。 端口配置 协议:TCP 容器端口:8080 服务端口:8080 -
列表中显示一条记录,当服务名称出显示为时,将鼠标悬浮在访问类型下的负载均衡器名称处,在弹窗中复制公网地址。
-
打开新的浏览器页面,输入“http://IP:8080/test”,其中IP为上一步中复制的公网地址。
若出现以下访问结果,表示镜像部署并运行成功。
3.7 部署镜像
通过在部署服务中创建应用,将镜像部署自动化。
-
返回软件开发生产线页面,单击导航栏“持续交付 > 部署”,进入部署服务。单击“新建应用”,输入应用名称(本文中为“web-demo-k8s”),单击“下一步”
-
选择“空白模板”,单击“确定”
-
在步骤列表中搜索并添加步骤“Kubernetes快速部署(CCE集群)”,参考下表完成步骤配置
配置项 配置建议 区域 选择集群所在的区域。 集群名称 选择准备工作中购买的集群名称。 命名空间名称 本文中选择“default”。 工作负载名称 选择“web-demo”。 容器名称 选择创建负载时,容器配置部分的容器名称。 -
单击“保存并部署”。当页面显示时,表示测试通过。若部署失败,请参照部署常见问题排查
3.8 配置流水线实现自动化更新镜像部署
通过配置流水线,将代码仓库、构建、部署串联起来,当代码仓库中发生代码提交动作时,可以自动触发流水线的执行,实现持续交付
-
单击导航栏“持续交付 > 流水线”,进入流水线服务
-
单击“新建流水线”,配置流水线
-
基本信息:配置以下信息,单击“下一步”
配置项 配置建议 名称 输入“pipeline-web-demo”。 流水线源 选择“Repo”。 代码库名称 选择“Web-Demo”。 默认分支 选择“master”。 -
模板:选择“空模板”,单击“确定”。
-
-
配置工作流。
-
单击“阶段_1”后的,在“编辑阶段”窗口中输入阶段名称“构建”,单击“确定”
-
单击“新建任务”在“新建任务”窗口中,单击“Build构建”插件后的“添加”。
-
参考下表配置任务信息,单击“确定”
配置项 配置建议 名称 输入自定义名称(本文中保持默认值)。 请选择需要调用的任务 选择“Web-Demo-docker”。 仓库 选择“Web-Demo”。 -
单击“新建阶段”,并修改阶段名称为“部署”。
-
单击“新建任务”,添加插件“Deploy部署”。
-
选择调用任务“web-demo-k8s”、关联构建任务选择之前设置的任务名称。
-
-
选择“执行计划”页签,勾选“代码提交时触发”,在分支过滤下拉列表中勾选分支“master”,单击“保存”。
-
进入代码仓库,搜索并打开文件“TestController.java”。
单击,将“hello world”修改为“hello world again”,输入提交信息后单击“确定”。
-
返回流水线页面,可看到流水线正在运行中。当页面显示时,重新访问页面“http://IP:8080/test”,访问结果将变为下图显示内容。若任务执行失败,请于执行失败处检查失败原因,或参照[流水线常见问题](https://support.huaweicloud.com/pipeline_faq/pipeline_faq_0001.html)排查处理。