通过流水线参数串联编译构建服务和部署服务
方案概述
使用编译构建生成软件包并通过部署服务部署时,手动配置获取软件包容易导致软件包不一致,且页面跳转多操作繁琐。通过流水线参数串联编译构建服务和部署服务,将参数传递给构建任务和部署任务,实现任务间数据流动的统一,只需要配置好流水线参数,即可完成构建、部署任务的数据拉通。
操作流程
本文以版本号参数为例,介绍如何将流水线参数传递给编译构建任务和部署应用,基本操作流程如下:
流程 |
说明 |
---|---|
新建编译构建任务,新增版本号参数,并在构建步骤引用该参数。 |
|
新建部署任务,新增软件包参数,并在部署步骤引用该参数。 |
|
新建流水线,新增版本号参数,并在流水线上添加编译构建任务及部署应用。
|
|
分别查看编译构建结果和部署结果。
|
准备工作
- 已开通并授权使用CodeArts Pipeline。
- 新建项目(选择“Scrum”模板,命名为“Project_Test”)。
- 新建代码仓库(选择“Java Maven Demo”模板,命名为“Repo_Test”)。
- 准备一台具有弹性IP的主机,可以使用已有主机,也可以购买华为云弹性云服务器。
步骤1:新建编译构建任务
- 登录华为云控制台页面。
- 单击页面左上角
,在服务列表中选择“开发与运维 > 流水线 CodeArts Pipeline”。
- 单击“立即使用”,进入流水线服务首页。
- 单击顶部导航栏“首页”,在首页搜索准备工作中已创建的项目,单击项目名称,进入项目。
- 在左侧导航栏选择“持续交付 > 编译构建”,进入编译构建页面。
- 单击“新建任务”,填写基本信息。
表2 构建任务基本信息 参数项
说明
名称
构建任务名称,输入“BuildTask01”。
所属项目
构建任务所在的项目,不可更改。
代码源
构建任务关联的代码源类型,选择“Repo”。
代码仓
构建任务关联的代码仓库,选择准备工作中已创建的代码仓“Repo_Test”。
默认分支
默认使用的分支,选择“master”。
- 单击“下一步”,选择“Maven系统模板”,单击“确定”。
- 在“参数设置”页面,新建“releaseversion”参数,单击
打开“运行时设置”。
图1 新建构建参数 - 在“构建步骤”页面,单击“上传软件包到软件发布库”。“发布版本号”配置为参数引用形式“${releaseversion}”,引用releaseversion参数,其他参数保持默认。
图2 配置构建步骤
- 单击“保存”,完成构建任务的创建。
步骤2:新建部署应用
- 在左侧导航栏选择“新建主机集群”,并将已购买的主机加入集群。 ,单击
- 在左侧导航栏选择 ,进入部署页面。
- 单击“新建应用”,填写任务名称“DeployTask01”,单击“下一步”,选择“空白模板”,单击“确定”。
- 单击“参数设置”,切换至“参数设置”页面,新建自定义参数“package_url”,单击
打开“运行时设置”。
图3 新建部署参数 - 单击“环境管理”切换至“环境管理”页面,单击“新建环境”,填写环境名称为“Environment01”,单击“保存”,切至“Environment01”资源列表页面,单击“导入主机”,将集群中的主机导入环境。
- 单击“部署步骤”,切换至“部署步骤”页面,添加“选择部署来源”步骤,参考表3配置步骤信息。
图4 配置部署步骤
- 单击“保存”,完成部署应用的创建。
步骤3:新建并执行流水线
- 在左侧导航栏选择“持续交付 > 流水线”,进入流水线页面。
- 单击“新建流水线”,参考表4配置流水线信息。
表4 流水线基本信息 配置项
配置建议
名称
流水线名称,输入“Pipeline-Test”。
流水线源
流水线关联的源类型,选择“Repo”。
代码仓
流水线关联的代码仓库,选择准备工作中已创建的代码仓“Repo_Test”。
默认分支
默认使用的分支,选择“master”。
- 配置完基本信息,单击“下一步”,进入“模板选择”页面,选择“空模板”,单击“确定”,进入流水线“任务编排”页面。
- 单击“参数设置”,在“参数设置”页面,新建自定义参数“releaseversion”,默认值设置为“${TIMESTAMP}”,并单击
打开“运行时设置”。
- 单击“任务编排”,在“任务编排”页面,系统默认生成两个阶段(“流水线源”和“阶段_1”),单击“新建阶段”新增一个阶段“阶段_2”。
- 单击“阶段_1”的“新建任务”,选择“从空模板新建”,弹出“新建任务”侧滑框。在搜索框搜索“Build构建”插件,将鼠标移动到插件卡片,单击“添加”,选择已创建的构建任务,选择与构建任务关联的仓库,releaseversion参数配置为参数引用形式“${releaseversion}”,引用流水线的releaseversion参数。
图5 添加构建任务
- 单击“阶段_2”的“新建任务”,选择“从空模板新建”,弹出“新建任务”侧滑框,在搜索框搜索“Deploy部署”插件,将鼠标移动到插件卡片,单击“添加”,选择已创建的部署应用,参考图6输入“package_url”路径,并关联步骤6的构建任务。
package_url为软件包地址,即构建包在软件发布库的相对路径(由构建任务名称、发布版本号和构建包拼接而成),且在路径中引用流水线的releaseversion参数。
- 任务编排完成后,单击“保存并执行”,开始执行流水线。
步骤4:查看编译构建和部署结果
流水线执行成功后,分别查看流水线参数在编译构建和部署任务之间传递的结果。
- 查看编译构建结果
- 在左侧导航栏选择“制品仓库 > 软件发布库”。
- 展开左侧项目导航树,查看构建成功后上传的软件包。
- 查看部署结果
- 单击右上角用户名,单击“CodeArts控制台”,进入控制台页面。
- 单击左上角
,找到“弹性云服务器”服务,单击并进入。
- 找到本次部署使用的弹性云服务器,单击“操作”列“远程登录”。
- 选择“其他方式 > 使用控制台提供的VNC方式登录”,单击“立即登录”。
- 输入购买弹性云服务器时配置的用户名和密码,回车。
- 输入如下命令,回车,进入新建部署应用时配置的部署目录“/usr/local”。
cd /usr/local
- 输入如下命令,回车,即可查看刚部署成功的软件包,说明参数正常传递部署应用成功获取到了软件包。
ls -al
图8 查看部署结果