Zadig 工作流利用 Kubernetes 的资源动态分配,实现多任务并发执行,相比 Jenkins 可省 50%资源、提高 40%任务效率。我们在「 Jenkins 任务如何迁移到 Zadig 工作流 (opens new window)」中详解迁移,提升工作流运行效率。在实际研发中,Jenkins 新项目上线需频繁沟通、配置繁琐。而 Zadig 的云原生 DevOps 模式分离交付与运维,规范治理流程,工程师可自助完成整个交付流程。下面我们将比对 Jenkins 传统交付模式和 Zadig 自运维模式的具体差异。
# Jenkins Vs. Zadig 新项目实施上线的差异
# Zadig 新项目上线具体操作
# 运维一次性操作
- 管理企业模板库,统一企业工程规范,包括构建、服务、Dockerfile、工作流模板。
- 初始化项目环境及工作流。按照“
新建项目
->配置服务
->配置环境
->配置工作流
”步骤完成项目的初始化配置。
# 开发自助上线新服务操作
第一步:快速新建服务,使用运维管理员提供的服务模板,轻松完成新服务的配置,通过构建模板一次性添加多个服务相关的代码信息。
第二步:执行工作流,自动完成服务的二进制编译、镜像构建、推送到目标镜像仓库以及在目标环境中部署服务等操作。
第三步:查看服务在相应环境中的基本信息和部署状态
至此,已完成新项目新服务的上线操作。对于测试工程师,仅需执行后两步操作即可完成自动化测试工程的搭建。
# 关键步骤耗时分析
# Jenkins 关键耗时步骤:5~7 天
- 没有统一标准,新项目首次上线时需要大量沟通成本
- Jenkins job 运行报错时,无法快速定位错误原因
- 更多能力缺失表现在:多个 Jenkins 环境,配置、插件管理复杂 / 跨集群项目难以同步 / 存在单点故障的隐患 / 脚本分散且存在重复功能,难以复用或更新 / 授权难以管理。
# Zadig 关键耗时步骤:1 天
- 建立统一的运维工程规范,只需定义若干套管理规范和模板库
- Zadig 任务详情提供各个阶段和环境的关键信息
- 更多价值体现在:统一服务/环境配置、集群资源使用入口管理规范、面向不同角色的定制规范化的工作流程/利用 Kubernetes 弹性资源能力随时扩展/以项目为维度进行权限管控,管理简单高效