Zadig 版本管理与自动化发布最佳实践解析

科技   2024-03-05 08:50   重庆  

在产品交付过程中,版本管理和版本发布是至关重要的环节,直接影响着产品质量和用户体验。有效的版本管理有助于团队组织和跟踪代码变更,确保每个版本都可靠且功能完善。而版本发布需要精心策划和执行,以确保新功能顺利上线,并最大程度地减少可能的故障和不稳定性。在此过程中,利用适当的工具和流程至关重要,它们为团队提供支持和保障,加速交付周期,降低发布风险。

本文将探讨如何通过 Zadig 平台实现高效的版本管理和版本发布,为团队提供稳定、高效的交付流程。



核心交付流程概述

1. 工程师完成代码编写后,将代码部署到开发环境,进行自测和联调。

2. 在测试环境对已提交的功能进行集成测试和系统测试,以验证版本的质量和有效性。

3. 完成所有验证后,进行生产环境版本发布。

在这一过程中,通常由测试工程师确认版本的有效性和质量。因此,可以由测试工程师直接完成版本打包,然后将其交给发布工程师或研发负责人进行生产环境发布。

接下来,我们将分别介绍在 Zadig 的 K8s YAML 项目和 Helm Chart 项目中,如何创建完整的版本,并进行生产环境发布的具体操作步骤。



K8s YAML 项目发布场景


第一步:创建版本

· 进入 K8s YAML 项目 -> 版本管理,点击创建版本,进入创建版本流程。

版本列表

· 第一步:填写版本基本信息,包括版本名称、版本标签、版本描述。

填写基本信息

· 第二步:选择环境和服务,对服务配置进行预览确认。

选择环境和服务

· 第三步:选择镜像仓库,并按需填写配置镜像版本。

配置镜像版本

· 点击完成后,所选的服务镜像将被推送到对应仓库。

· 在版本管理列表中点击版本可以查看具体交付信息,包括创建该版本的工作流任务、交付的镜像信息、包信息、服务配置及启动顺序等等。

版本详情



第二步:发布版本

· 执行生产发布工作流,在「部署」任务中选择版本,将版本内包含的所有服务镜像更新到指定环境。

生产发布工作流由管理员事先配置,包含「部署」、「测试」、「人工审批」等步骤。

选择版本

选择发布版本

工作流执行变量

工作流部署详情



K8s Helm Chart 项目发布场景


第一步:创建版本

· 进入 Helm Chart 项目 -> 版本管理,点击创建版本,进入创建版本流程。

版本列表

· 第一步:填写版本基本信息,包括版本名称、版本标签、版本描述。

填写基本信息

· 第二步:选择环境和服务,并且对所选服务配置做少量修改,以满足线上生产环境服务配置需求。

选择环境和服务

如果需要统一修改所有服务 values 文件中的变量值可以使用全局变量。如下图所示,填写全局变量,点击应用,所有服务 values 文件中的对应变量值统一被修改成全局变量中设置的变量值。

全局变量替换

· 第三步:选择交付物推送的仓库,并按需填写 Chart 版本号,配置镜像版本。

配置 Chart 和镜像版本

· 点击完成后,所选的服务配置(Chart)和镜像将被推送到对应仓库。

· 点击版本可查看版本详情,包括可下载的完整 Chart 信息、镜像信息等等,如下图所示。

版本详情



第二步:发布版本

· 执行生产发布工作流,在「Helm Chart 部署」任务中选择版本,将版本内包含的所有 Chart 更新到指定环境。

生产发布工作流由管理员事先配置,包含「Helm Chart 部署」、「测试」、「人工审批」等步骤。

选择版本

选择发布版本

工作流执行变量

Helm Chart 部署详情



总的来说,Zadig 为版本管理和发布过程提供了高效的解决方案。通过版本创建和工作流版本发布功能,提升了发布过程的透明度和可控性。工程师可以在 Zadig 平台上轻松创建版本,并通过平台快速查看版本详情和执行发布任务,有效地管理产品的版本发布。这种集成式的版本管理和发布流程不仅提高了团队的工作效率,还有助于降低发布过程中的风险,确保产品交付的稳定性和质量。


Zadig 的版本管理适用于简单的发布场景。对于较为复杂的情况,可以使用发布计划来进行编排和团队协同。我们将在后续文章中介绍发布计划相关内容,敬请期待……



Zadig,让工程师更加专注创造。


推荐阅读

200 小时深度体验分析,DevOps 选型重磅发布

Jenkins 迁移 Zadig,新项目实施上线效率提升 6 倍

Zadig vs. Jenkins 详细比对:时代的选择与开发者之选

基于 Zadig + Ingress 实现单应用灰度发布最佳实践

ZADIG 专家版倾情上线:一键高效发布,119元/人月起,社区老友享年终福利!

点击“阅读原文”预约咨询

运维开发故事
由一群志同道合的小伙伴共同维护,有运维也有开发,内容不限于Linux运维,devops工具链,k8s容器化技术,监控,日志收集,网络安全,Python或GO开发,团队成员有乔克、wanger、冬哥、素心、华仔、郑哥、夏老师
 最新文章