Zadig 深度集成 Apollo 实现跨环境配置的一致性传递

原创
06/17 18:06
阅读数 482
 
在现代软件开发中,配置管理对保障软件质量和稳定性起着核心作用。有效的配置管理能防止配置错误,确保应用在不同环境下的一致性。尽管存在多环境差异、系统复杂性等挑战,Zadig 通过与 Apollo 的集成简化了这一过程。这提高了系统稳定性,降低了维护难度,并优化了开发部署流程。
接下来我们将结合实际案例,介绍如何通过 Zadig 解决 Apollo 配置管理复杂性和一致性传递的难题。

管理员配置

管理员在 Zadig 中集成 Apollo 配置管理系统,配置工作流 「Apollo 配置变更」任务,即可实现配置的自动化变更、帮助工程师方便的完成配置的一致性传递。

第一步:集成 Apollo

访问 Zadig 系统设置 > 集成管理 > 配置管理 > 添加 Apollo 配置管理系统。
 

第二步:配置工作流任务

将 「Apollo 配置变更」任务编排到工作流中,即可通过 Zadig 工作流一键实现自动变更配置。具体操作:编辑工作流 > 添加配置变更任务 > 选择 Apollo 配置变更 > 填写相关参数后保存。
 
为了控制多环境使用和变更权限,比如仅允许开发人员对开发环境的配置进行变更,不可修改其他环境的配置。在 Zadig 上可以通过设置 Apollo 配置范围来实现配置修改权限的控制,从而确保系统环境的稳定性。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
配置 3 条工作流,具体配置参考如下:
工作流名称
工作流用途
工作流步骤配置
demo-workflow-dev
开发环境更新
构建 > dev 环境配置变更 > 部署 dev 环境
demo-workflow-sit
测试环境更新
构建 > sit 环境配置变更 > 部署 sit 环境 > 自动化测试 > IM 通知
demo-workflow-prod
生产发布
SRE 审批 > prod 环境配置变更 > 部署 prod 环境 > 回归测试

第三步:配置协作模式[可选]

配置协作模式,为开发、测试、发布工程师配置工作流权限,具体配置参考如下:
协作模式名称
包含协作成员
工作流权限配置
dev-mode
开发工程师
共享 demo-workflow-dev 工作流
qa-mode
测试工程师
共享 demo-workflow-qa 工作流
sre-mode
发布工程师
共享 demo-workflow-prod 工作流

工程师使用

下面我们将详细探讨开发阶段、测试阶段和生产发布阶段如何在 Zadig 上实现 Apollo 配置一致性变更。

场景一:开发工程师自测联调-根据实际业务改动更新配置

构建 > Apollo 配置变更 > 部署,实现开发环境业务和配置的自动化变更。
开发工程师代码实现完毕后需要自测联调时,执行 demo-workflow-dev 工作流,选择需要更新的服务,在 Apollo 配置变更任务中选择配置项并修改配置内容。
配置变更成功后会自动执行部署任务更新开发环境,实现开发环境中业务代码和配置的一键变更,快速自测联调。
 

场景二:测试工程师集成测试-复用开发的配置改动

构建 > Apollo 配置变更 > 部署 > 自动化测试 > IM 通知,实现测试环境业务和配置的自动化、高效变更。
测试工程师集成测试时,执行 demo-workflow-sit 工作流,选择需要更新的服务和对应的配置变更。
如下图所示,点击「同步配置」,选择开发环境的服务配置,可以获取开发环境和测试环境之间的配置差异,选择需要同步的配置。点击同步按钮后,通过变更前后的比对,一目了然地了解变更的内容。最后,点击执行工作流即可完成对测试环境配置的自动化变更。
 

场景三:发布工程师生产发布-审批配置改动

SRE 审批 > Apollo 配置变更 > 部署 prod 环境 > 自动化测试,实现业务和配置自动化、安全上线。
发布工程师执行 demo-workflow-prod 工作流进行生产发布,选择要变更的 Apollo 配置并修改内容。
和测试工程师操作类似,选择测试环境中的配置,获得测试环境和生产环境的差异,选择需要同步的配置后,对生产环境进行改动。
另外,鉴于生产发布的严肃性,通常需要相关责任人对发布内容进行审批。审批人员可以通过 Zadig 工作流任务信息详细了解本次任务的具体改动,来保障发布内容的正确性和可靠性。
 

小结

Zadig 工作流支持编排 Apollo 配置变更任务,以实现业务和配置的自动化、高效变更。此外,它还具备多环境配置同步和单环境变更前后对比的能力,有助于确保配置在开发、测试和生产发布中的一致性传递。从而为生产发布过程提供了稳定、安全和可靠的保障。
 
展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部