1 概述
1.1 背景介绍
流水线(CodeArts Pipeline)提供可视化、可编排的CI/CD持续交付软件生产线,帮助企业快速转型,实现DevOps持续交付高效自动化,缩短应用TTM(Time to Market)交付周期,提升研发效率。
流水线本质上是一个可视化的自动化任务调度平台,需要配合软件开发生产线中编译构建、代码检查、测试计划、部署等服务的自动化任务使用。根据用户需要的场景,如开发测试环境应用部署、生产环境应用部署等,对这些自动化任务进行自定义编排,一次配置后就可以一键自动化触发调度执行,避免频繁低效的手工操作。
1.2 适用对象
- 企业
- 个人开发者
- 高校学生
1.3 案例时间
本案例总时长预计60分钟。
1.4 案例流程
{{{width="65%" height="auto"}}}
说明:
① 购买弹性云服务器,创建虚拟私有云及安全组; ② 登录云主机,购买CodeArts并创建CodeArts项目,创建代码质量门禁检查流水线; ③ CodeArts IDE本地拉取云上代码; ④ CodeArts IDE集成CodeArts Pipeline插件实现本地调用华为云云上流水线任务; ⑤ 云上流水线查看运行结果;进行分支合并,创建部署流水线。
1.5 资源总览
本案例花费总计约1.55元,资源采取按需计费,体验结束后,请及时释放资源,避免产生多余费用,给您带来不便。
| 资源名称 | 规格 | 单价(元) | 时长(h) |
|---|---|---|---|
| 弹性云服务器ECS | X86计算,通用计算增强型 | c6.large.4 | 2 vCPUs | 8 GiB CentOS 7.6 64bit (40GB) | 0.75 | 1 |
| 弹性公网IP | 按流量计费 5Mbit/s | 0.8元/GB | 1 |
| CodeArts服务 | 免费体验版 | 免费 | 1 |
2 操作步骤
2.1 购买CodeArts
已购买请跳过。
在浏览器中输入华为云网址:进入华为云首页。在华为云的首页右上方,点击“登录”,在弹出的对话框中输入自己的用户名和密码。
在华为云首页,依次选择“产品”\>“开发与运维”\>“软件开发生产线CodeArts”,进入CodeArts页面。

点击“购买”按钮进入购买页面,选择“体验版”购买即可。
2.2 创建CodeArts项目
2.2.1 创建云上项目
购买服务后,在软件开发生产线 CodeArts概览页,点击“立即使用”,进入CodeArts首页,左上角选择“华北-北京四”,在“模板”中,选用“Scrum”类型项目模板。

在打开的新建项目窗口,填写好项目名称(例:Scrum-demo),点击“确定”创建项目。
创建云上仓库,进入Scrum-demo项目,点击左侧“代码-\>代码托管-\>新建仓库”。

选择 “模板仓库-\>下一步-\>Java Maven Demo”,点击“下一步”。

输入仓库名称(例:Scrum-demo-ck),点击“确定”,完成代码仓库创建。

进入仓库,示例代码如下(如有自己的代码请参考“【开发者空间实践指导】软件开发生产线CodeArts初体验:一站式体验代码云上托管、构建、检查与修复-云社区-华为云”上传至仓库)。

2.2.2 CodeArts IDE本地代码拉取
如下图中所示,在代码仓库中,点击右上角的“克隆/下载”,选择“用HTTPS克隆”,点击“复制图标”,复制代码仓库的HTTPS地址。

获取克隆仓库的用户名和密码:点击“HTTPS密码”。

跳转至“HTTPS密码”页面,这里的用户名,密码(默认为账号的登录密码),在克隆代码时使用。

在开发者空间,点击自己云主机的“进入桌面”,登录云主机,在主机桌面,双击打开CodeArts IDE for Java。

选择“克隆Git仓库”, 输入上面复制的仓库HTTPS地址,点击 “克隆”。
在提示“Username”和“Password”处,填写上面获取的仓库HTTPS用户名和密码并“回车”。

点击“Open”,打开仓库,云仓库与本地CodeArts IDE for Java连接完毕。

2.3 创建代码质量门禁检查的流水线
2.3.1 创建检查任务
返回CodeArts项目,点击左侧“代码-\>代码检查-\>新建任务”。

填写任务名称(例:Scrum-demo-check),仓库选择步骤2.2.1中创建的仓库,点击“新建任务”。

2.3.2 创建构建任务
点击左侧“持续交付-\>编译构建-\>新建任务”。

填写名称(例:Scrum-demo-ck-build),代码源选择“Ropo”,代码仓选择步骤2.2.1中创建的代码仓库的“master”分支,点击“下一步”。

选择“Maven” 模板,点击“确定”。

点击右上方“保存”按钮,保存任务。
2.3.3 创建流水线
点击左侧“持续交付-\>流水线-\>新建流水线”。

填写流水线名称(例:Scrum-demo-ck-pipeline),代码源选择“Repo”,代码仓选择步骤2.2.1中创建的代码仓库的“master”分支,点击“下一步”。

选择“空模板”,点击“确定”。

自动跳转流水线界面,在“阶段_1”中点击 “新建任务”,右侧跳出弹窗,选择“构建-\>Build构建”,点击 “添加”。

调用的任务选择步骤2.3.2中创建的构建任务,仓库选择步骤2.2.2中创建的代码仓库,点击“确定”。

在“阶段_1”中点击“并行任务”,右侧跳出弹窗,选择“代码检查-\>Check代码检查”,点击“添加”。

选择步骤2.3.1中创建的检查任务,点击“确定”。

点击“阶段_1”的“编辑”图标,将阶段名称修改为“构建和检查”,点击“确定”。
添加门禁:点击“构建和检查”阶段的“准出条件”,选择“标准策略准出条件”,点击“添加”。

选择“系统策略”,点击“确定”,门禁添加已完成。

点击右上方“保存并执行”,弹出来界面点击“执行”,等待执行完毕。绿色为执行成功,红色为失败。

点击左侧“制品仓库-\>软件发布库”,可以找到流水线执行生成的jar包,复制下载地址备用。

2.4 CodeArts IDE本地管理CodeArts流水线
在云主机桌面,单击左下角浏览器图标,用浏览器打开https://dtse-mirrors.obs.cn-north-4.myhuaweicloud.com/case/0032/huaweicloud.codearts-pipeline-1.0.0.carts,下载CodeArts Pipeline插件。
在云主机的CodeArts IDE for Java中,点击右侧“扩展”菜单栏,选择 图标,打开上面CodeArts Pipeline插件下载地址并选中插件,单击“安装”。
如遇“正在安装非受信任的扩展”提示,单击“继续安装”。 安装完成,单击“立即重载”。 
安装完成后,点击左侧的“DevSecOps”菜单栏(如没有请重启IDE),并切换自己项目所在的区域“北京四”,查询当前项目下的所有流水线,选择步骤2.3.3中创建的代码质量门禁流水线,点击三角号“运行”图标。

绿色代表执行完毕,此时切到流水线界面可以查看刚刚执行的流水线。

2.5 合并分支
2.5.1 分支管理介绍
分支是版本管理工具中最常用的一种管理手段,使用分支可以把项目开发中的几项工作彼此隔离开来使其互不影响,当需要发布版本之前再通过分支合并将其进行整合。
在代码托管服务/Git仓库创建之初都会默认生成一条名为master的分支,一般作为最新版本分支使用,开发者可以随时手动创建自定义分支以应对实际开发中的个性场景。
本章节介绍如何创建分支及分支合并。
2.5.2 创建分支及分支合并
点击左侧“工作项-\>需求管理-\>工作项-\>新建”,下拉框中选择“task”。

填写名称(例:修改代码demo),点击“确定”。

点击左侧“代码-\>代码托管”,点击代码仓库,进入代码界面,点击“代码-\>分支-\>所有分支”,可以看到只有一个主分支master,点击“新建分支”。

填写分支名称(例:feature),关联工作项选择上面创建的task。点击“确定”。

点击“代码-\>master”,下拉框中选择feature,切换到feature分支,模拟代码修改。

找到src下面的 “HelloWorld.Java”。点击“编辑”图标。

增加一行代码(例:System.out.println("Hello HuaWei!");),点击“确定”。

点击右上角“新建合并请求”,源分支选择“feature”,目标分支选择“master”,模拟分支合并,点击“下一步”。

选择标题,并关联上面创建的task工作项,点击“新建合并请求”。 
点击右上角的“合入”按钮。

合入完成后,点击“代码”,可以查看master分支的“HelloWorld.Java”文件代码已修改。

2.6 创建虚拟私有云和安全组
进入创建VPC页面,区域选择“华北-北京四”,填写自己可以识别 的“名称”和“子网名称”,点击“立即创建”完成虚拟私有云的创建。

进入创建安全组页面,区域选择“华北-北京四”,填写自己可以识别 “名称”,预设规则选择“通用Web服务器”,点击“立即创建”完成安全组的创建。

2.7 购买弹性云服务器
浏览器进入ECS弹性云服务器控制台,点击右上角“购买弹性云服务器”,ECS配置如下:
| 配置项 | 具体配置 |
|---|---|
| 计费模式: | 按需计费 |
| 区域/可用区 | 华北-北京四 | 随机分配 |
| 规格 | X86计算 | c6.large.4 | 2vCPUs | 8GiB |
| 操作系统镜像 | CentOS 7.6 64bit with ARM |
| 系统盘 | 通用型SSD, 40GiB |
| 弹性公网IP | 全动态BGP | 按流量计费 | 5 Mbit/s | 随实例释放 |
| 网络和安全组 | 选择步骤2.6中购买的虚拟私有云和安全组 |
| 公网带宽 | 按流量计费 5Mbit/秒 |
| 云服务器名称 | (自定义) |
| 登录凭证 | (自定义) |
| 购买量 | 1 |



点击“立即购买”完成购买,购买成功后可以看到服务器名称及公网IP等信息。

2.8 创建部署流水线
2.8.1 创建主机集群
进入CodeArts项目,点击“设置-\>通用设置-\>基础资源管理”,点击“新建主机集群”,设置集群名称(例:scrum-demo-group),点击“保存”。

点击“添加或导入主机”,选择“通过IP手动添加”,输入步骤2.7中购买的服务器名称,IP地址为其公网地址,输入用户名密码,ssh端口22。

点击“确定”,等待一会可以看到主机导入成功。

2.8.2 创建部署任务
点击“持续交付-\>部署-\>新建应用”。

填写名称(例:scrum-demo-deploy),点击“下一步”,选择“Tomcat应用部署”,点击“确定”。

点击“环境管理-\>新建环境”,填写环境名称(例:scrum-demo-env),点击“保存”。

点击“导入主机”,选择步骤2.8.1中创建的主机集群,勾选集群下的主机,点击“导入”,等待成功即可。

点击“参数设置”,host_group的默认值选择上一步新建环境名称,package_url为步骤2.3.3中jar包地址,点击“保存”。

2.8.3 创建部署流水线
点击“持续交付-\>流水线”,编辑步骤2.3.3中创建的流水线。

点击“新建阶段-\>新建任务”,右侧跳出弹窗,选择“部署-\>Deploy部署”,点击 “添加”。

调度任务选择步骤2.8.2中创建的部署任务,关联构建任务选择“Build构”,点击“确定”。

点击右上角“保存并执行”,弹出来界面中点击“执行”,等待执行成功(也可以在云主机IDE中查看运行该流水线,请参照步骤2.4)。

至此,基于Repo和流水线门禁的分支合并与部署全部内容完成。
6万+

被折叠的 条评论
为什么被折叠?



