在当前复杂且不断扩大的软件系统中,配置管理和变更变得至关重要。随着云原生和微服务架构的广泛应用,业务配置和运行时环境的变更变得更加常见。Apollo 是一款由携程框架部门开发的开源配置管理工具,为 Spring Boot 和 Spring Cloud 生态系统提供了出色的支持。Apollo 因其集中化管理不同环境和集群的应用配置而备受企业青睐,已成为主流配置管理工具之一。作为一款强大的平台 ZadigX 不仅支持 Nacos,还提供了与 Apollo 的卓越兼容性。在本文中,我们将详细介绍 ZadigX 对 Apollo 配置管理的支持,并提供常见的研发场景示例,以助您更好地了解和应用 ZadigX。通过 ZadigX 的自动变更功能,企业能够以更安全、高效的方式管理和变更 Apollo 配置,进一步提升配置管理的效率和质量。让我们一同深入探索 ZadigX 和 Apollo 的结合,开启智能配置管理之旅吧!
01、ZadigX 如何支持 Apollo 配置管理
在 ZadigX 中集成 Apollo 配置管理系统,配置工作流任务,即可实现配置的自动化、安全变更。
第一步:集成 Apollo
1.访问 Apollo 系统 > 管理员工具 > 用户管理,添加用户。
提示:用户登录账户请设置为。
2.访问管理员工具 > 开放平台授权管理,创建第三方应用并保存 Token。
3.访问 ZadigX 系统设置 > 集成管理 > 配置管理 > 添加 Apollo 配置管理系统。
系统类型:选择 Apollo
访问地址:即 Apollo 系统的地址
API Token:即上一步中保存的 Token
第二步:配置工作流任务
将 Apollo 配置变更任务编排进工作流中即可实现使用 ZadigX 工作流一键自动变更配置。具体操作:编辑工作流 > 添加配置变更任务 > 选择 Apollo 配置变更 > 填写相关参数后保存。
Apollo 配置变更任务中具体配置参考:
工作流中支持的更多任务类型可参考文档:工作流任务[1]。
任务名称:根据实际语义配置,比如
Apollo 地址:即第一步中集成的地址
Apollo 配置范围:允许使用 ZadigX 工作流进行变更的 Apollo 配置范围,可配置多个。其中、、、分别对应 Apollo 配置中的应用 ID(AppID)、环境(environment)、集群(cluster)和命名空间(namespace)
关于 Apollo 配置的更多建议:
推荐 ZadigX 中不同的环境配置使用不同的 Apollo 环境名称来实现环境配置隔离。比如:开发、测试、生产环境的 Apollo 配置分别在 dev、sit、prod 环境中。
推荐使用不同的工作流来变更不同环境的 Apollo 配置,以避免执行工作流时人工误操作导致错误的配置变更。
02、典型研发场景
接下来以典型的研发场景,详细阐述 ZadigX 如何支持 Apollo 的配置变更,以实现自动化、安全和高效的变更管理。
前置条件:资源准备配置环境,配置 3 套环境分别用于日常开发自测联调(dev 环境)、集成测试验证(sit 环境)以及生产发布和查看(prod 环境)。
配置工作流,配置 3 条工作流,具体配置参考如下:
配置协作模式,配置协作模式,为研发、测试、发布工程师配置工作流和环境粒度的权限,具体配置参考如下:
场景一:开发阶段
构建 > Apollo 配置变更 > 部署,实现开发环境业务和配置的自动化变更。
开发工程师代码实现完毕后需要自测联调时,执行 demo-workflow-dev 工作流,在构建任务中选择要部署的服务及对应代码,在 Apollo 配置变更任务中选择要变更的配置并修改配置内容。
配置变更成功后会自动执行部署任务更新 dev 环境,实现开发环境中业务代码和配置的一键变更,快速自测联调。
场景二:测试阶段
构建 > QA 审批 > Apollo 配置变更 > 部署 > 自动化测试 > IM 通知,实现测试环境业务和配置的自动化、高效变更。
测试(开发)工程师需要对服务进行集成测试验证时,执行 demo-workflow-sit 工作流,指定要部署的服务以及需要变更的 Apollo 配置并修改配置内容。
在 Apollo 配置变更任务执行之前会触发 QA 审批,待审批通过后会自动执行 Apollo 配置变更、sit 环境部署、自动化测试,并将工作流执行结果通知到 IM 中,以便测试工程师及时感知环境和配置更新状态,尽早验收把关质量。此外,在 Apollo 中可追踪配置的发布历史。
场景三:生产发布阶段
SRE 审批 > Apollo 配置变更 > 生产环境分阶段灰度发布 > 自动化测试,实现业务和配置自动化、安全上线。
发布工程师执行 demo-workflow-prod 工作流进行生产发布,选择要变更的 Apollo 配置并修改内容。需要一次变更多个命名空间中的 Apollo 配置时,在工作流中配置多个配置变更任务即可,支持并发执行以提高变更效率。鉴于生产环境的严肃性,针对生产发布有以下策略建议:
-
测试验收通过的版本才允许发布,从质量上建设发布门禁。
-
灵活编排蓝绿、金丝雀、分批次灰度、Istio 等发布策略,以确保发布的可靠性,可参考:发布工作流[2]。
-
发布工作流增加人工审批,确保业务流程上的发布合规性。
03、小结
综上所述,ZadigX 和 Apollo 的结合为企业提供了强大的配置管理解决方案,ZadigX 工作流通过编排 Apollo 配置变更任务实现业务、配置一键变更,多个变更可高效并发执行。通过协作模式将工作流和环境来分配使用,关键节点添加人工审批,有效避免权限放大风险,提升软件交付的稳定性和可靠性。
参考链接:
[1] 工作流任务:https://docs.koderover.com/zadig/ZadigX%20v1.5.0/project/workflow-jobs/
[2] 发布工作流:https://docs.koderover.com/zadig/ZadigX%20v1.5.0/project/release-workflow/
推荐阅读
Zadig 和 ZadigX 究竟有什么区别
ZadigX 支持 Nacos 配置自动变更,安全又高效
ZadigX 与 Jira 双向互联,产品到研发自动化全打通了
ZadigX 上线飞书官方:先进组织,一站式高效协同解决方案
极氪、路特斯、光环有云:我如何从开源 Zadig 走向 ZadigX 商业合作
阅读原文 https://mp.weixin.qq.com/s/V3gbJrnLOBjmLpoaKC5hjw