基于微服务变更按需发布
CodeArts Pipeline为企业提供了一种微服务模型,将企业大军团的作战方式转变为小团队精英作战方式,支持每个微服务独立进行开发、验证、部署及上线发布,缩短需求发布周期。同时支持企业按照业务功能组织团队,优化管理模型,使运作更精细化,有效提升团队运作效率。
在微服务中,用户可以创建流水线资源,并将其设置为变更流水线,用于与微服务下变更资源进行联动,通过变更流水线发布一个或多个变更来实现项目的快速交付。
准备工作
- 新建项目(以Scrum项目为例,命名为“Project01”)。
- 在项目下新建工作项(以修复一个BUG单为例,命名为“BUGFIX”)。
- 在项目下新建代码仓库(以Maven模板为例,命名为“test01”)。
- 新建CodeArts Repo HTTPS服务扩展点(命名为“https_endpoint”)。
步骤1:新建微服务
- 登录软件开发生产线。
- 搜索准备工作中已创建的项目,单击项目名称,进入项目。
- 单击左侧导航“持续交付 > 流水线”,进入项目下流水线列表页面。
- 切换到“微服务”页签,进入微服务列表页面。
- 单击“新建微服务”,进入“新建微服务”页面,配置以下信息。
表1 新建微服务 参数项
说明
微服务名称
微服务的名称,输入“microservice01”。
代码源
选择关联的源码仓库,仅支持“Repo”。
代码仓
选择准备工作中已创建的代码仓“test01”。
默认分支
默认使用的分支,选择“master”。
语言
指定微服务开发语言,这里选“Java”。
描述
微服务的描述,选填。
- 单击“确定”,完成微服务的创建。
步骤2:新建变更流水线
- 在微服务列表页面,单击微服务名称,进入微服务“概览”页面。
- 切换到“流水线”页签,进入微服务流水线列表页面。
- 单击“新建流水线”,进入“新建流水线 ”页面,配置以下信息。
表2 新建变更流水线 参数项
说明
名称
使用自动生成的即可。
流水线源
自动和微服务保持一致。
代码仓
自动和微服务保持一致。
默认分支
自动和微服务保持一致。
Repo https授权
打开“基于变更触发”后需设置“Repo https授权”,选择准备工作中已创建的授权扩展点“https_endpoint”。
别名
输入别名,会生成该仓库对应的相关系统参数,这里可不设置。
基于变更触发
打开“基于变更触发”,将当前流水线设置为微服务变更流水线。
描述
选填。
微服务变更流水线仅支持基于变更触发运行,且单个微服务下只能存在一条微服务变更流水线。
- 单击“下一步”,选择“新手上路”模板,自动生成代码检查、构建、部署等阶段,可根据需要对流水线进行编排,这里使用默认配置即可。
- 单击“保存”,完成微服务变更流水线的创建。
步骤3:新建变更
- 重新进入微服务“概览”页面。
- 切换到“变更”页签,进入微服务变更列表页面。
- 单击“新建变更”,进入“新建变更 ”页面,配置以下信息。
表3 新建变更 参数项
说明
变更标题
输入“bugfix”。
代码分支
可以选择“从默认分支拉取新分支”并填写分支名称,也可以选择“关联已有分支”并选择已有分支(这里以拉取新分支为例,输入分支名“buxfix”)。
关联工作项
选择准备工作中已创建的工作项“BUGFIX”。
- 单击“确定”,完成变更的创建。
变更创建完成后,进入代码开发阶段,系统自动基于微服务默认分支创建出本次变更的特性分支,开发人员可以基于该特性分支进行代码开发活动。可根据需要,模拟向新拉取的分支提交代码更新。
步骤4:执行变更流水线
代码更新完成后,即可通过变更流水线执行变更。
- 在微服务变更列表页面,单击变更名称,进入“变更详情”页面。
- 单击右上角“提交发布”,弹出“提交发布”确认框,提示是否确认将变更提交至变更流水线。
图1 提交发布
- 单击“确定”,完成变更提交,页面跳转至对应变更流水线发布列表页面。
图2 发布列表
- 单击右上角“运行”,弹出“运行配置”侧滑框,选择刚提交的变更,并根据需要配置运行参数、选择执行阶段和任务等。
- 单击“运行”,启动变更流程。
微服务变更流水线在运行过程中,会自动增加“合并集成分支”和“合并主干”阶段,并将本次变更关联的特性分支合并到该集成分支上。
代码检查、构建、部署任务执行成功后,系统自动进入“合并主干”阶段,并弹出“手动确认”对话框。
图3 执行流水线
- 单击“继续执行”,“合并主干”阶段执行完成后,系统将自动完成以下事项。
- 将本次发布的变更状态更新为“已发布”。
- 将本次发布的变更关联的工作项状态更新为“已关闭”。
- 将本次发布使用的集成分支代码内容合并到微服务默认分支,实现代码自动合并。
至此,我们完成了一次基本的微服务变更发布流程。