Zadig 深度集成 Apollo 实现跨环境配置的一致性传递
在现代软件系统中,配置管理是确保软件质量的关键环节。应用程序的配置直接影响到其功能、性能和安全性。通过有效的配置管理,可以确保应用程序在不同环境中的一致性和稳定性,从而避免因配置错误而导致的问题和事故。然而,实现配置一致性变更,面临着诸多挑战,包括多环境的差异、多组件系统的复杂性、动态性以及安全性等方面,这些因素增加了对系统可维护性和安全保障的难度。
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 配置变更任务,以实现业务和配置的自动化、高效变更。此外,它还具备多环境配置同步和单环境变更前后对比的能力,有助于确保配置在开发、测试和生产发布中的一致性传递。从而为生产发布过程提供了稳定、安全和可靠的保障。
立即体验 Zadig V2.0 新架构,开启高效交付之旅!🚀
Zadig 开放,链接,专业
阅读原文 / Zadig 在 Github / Zadig 在 Gitee
推荐阅读 : 是时候和 Jenkins 说再见了 / Jenkins 任务如何迁移到 Zadig 工作流 / Jenkins 迁移 Zadig,新项目实施上线效率提升 6 倍 / 揭秘 Zadig V2.0.0 新开源架构:效率飙升 50%背后故事 / Zadig 支持 Nacos 跨环境配置变更,自动实现一致性变更

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
一行代码修复100vh bug | 京东云技术团队
你知道奇怪的移动视口错误(也称为100vh bug)吗?或者如何以正确的方式创建全屏块? 一、100vh bug 什么是移动视口错误? 你是否曾经在网页上创建过全屏元素?只需添加一行 CSS 并不难: .my-page { height: 100vh } 1vh是视口高度的1% ,正是我们所需要的。但当我们在移动设备上测试时,就会出现问题。移动浏览器的视口可以动态改变,但值保持不变。因此在移动浏览器中vh变成静态值并且不反映视口的实际高度。 在下图中,可以看到移动屏幕的两种状态: 带有隐藏的地址栏 具有可见的地址栏 核心问题是移动浏览器(Chrome 和 Safari)有一个“有用”的功能,地址栏有时可见,有时隐藏,从而改变视口的可见大小。这些浏览器并没有随着视口高度的变化而将高度调整100vh为屏幕的可见部分,而是将100vh地址栏设置为隐藏地址的浏览器高度。结果是,当地址栏可见时,屏幕的底部将被切断,从而违背了100vh最初的目的。 有什么方法可以解决这个问题? 二、常规修复 1. CSS + Javascript 使用的解决方案涉及使用CSS 自定义属性和一些Javasc...
- 下一篇
GaussDB SQL基础语法-变量&常量
一、前言 SQL是用于访问和处理数据库的标准计算机语言。GaussDB支持SQL标准(默认支持SQL2、SQL3和SQL4的主要特性)。 本系列将以《云数据库GaussDB—SQL参考》在线文档为主线进行介绍。 二、GaussDB数据库中的常量和变量的基本概述及语法定义 数据库中的变量和常量是两种重要的数据使用类型。变量是可以变化和被修改的,而常量则是固定不变,不能被修改的。 1、变量定义 在GaussDB中,变量是用于存储可变值的数据类型。变量通常在程序中定义,并在执行期间可以更改其值。在GaussDB中,可以使用以下语法来定义变量: DECLARE variable_name data_type; 其中,variable_name 是变量的名称,data_type 是变量的数据类型。例如,要定义一个名为 my_variable 的整数变量,可以使用以下语句: DECLARE my_variable INT; 2、常量定义 在GaussDB中,常量用于存储固定值的数据类型。常量在程序中定义后,其值不能被修改。在GaussDB中,可以使用以下语法来定义常量: DECLARE const...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- Red5直播服务器,属于Java语言的直播服务器
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8安装Docker,最新的服务器搭配容器使用
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程