news 2026/7/4 9:37:06

Jenkins 已死?GitOps 才是未来!基于 ArgoCD + Kustomize 构建“秒级发布”流水线

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Jenkins 已死?GitOps 才是未来!基于 ArgoCD + Kustomize 构建“秒级发布”流水线

⚰️ 前言:受够了 Jenkins 的“插件地狱”

你是否有过这样的经历:

  • 为了升级一个 Jenkins 插件,导致整个流水线崩了,甚至 Jenkins 起不来了。
  • 运维在 Jenkins 上配了一堆 Shell 脚本,只有他自己看得懂,离职后没人敢动。
  • 生产环境的配置和 Git 仓库里的代码不一样,出现了神秘的**“配置漂移”**。

在虚拟机时代,Jenkins 是当之无愧的 CI/CD 霸主。但在Kubernetes 云原生时代,继续用 Jenkins 做部署(CD),简直就是开着拖拉机上高速。

今天,我要大胆说一句:对于 K8s 部署,Jenkins 该退休了。
未来属于GitOps。我们将用ArgoCD + Kustomize搭建一套现代化的发布系统,实现**“代码一提交,集群秒更新”**。


⚔️ 核心对决:Push 模式 vs Pull 模式

为什么说 Jenkins 落后了?
Jenkins 采用的是Push 模式:CI 服务器需要持有 K8s 集群的kubeconfig(上帝权限),一旦 CI 服务器被黑,你的生产环境就完了。

ArgoCD 采用的是Pull 模式 (GitOps)
ArgoCD 作为 Agent 部署在 K8s 集群内部。它不需要上帝权限,它只做一件事:盯着 Git 仓库

  • Git 仓库里描述了“期望状态”。
  • K8s 集群里运行的是“实际状态”。
  • 一旦两者不一致,ArgoCD 立即把集群同步 (Sync)成 Git 里的样子。

架构对比图:

现代ArgoCD_Pull模式
传统Jenkins_Push模式
代码提交
触发
1.构建镜像
2.kubectl apply
代码提交
触发
1.构建镜像
2.更新Manifest
3.监听变化并拉取
4.同步状态
Git 代码库
开发人员
GitHub Actions / Jenkins CI
镜像仓库
Git 配置库
ArgoCD 控制器
生产集群
Git 代码库
开发人员
Jenkins CI/CD
镜像仓库
生产集群

GitOps 的降维打击:

  1. 安全性:CI 只需要修改 Git 文件,不需要 K8s 权限。
  2. 可回滚:Git 回退一个 Commit,集群自动回滚。Git 就是你的时光机。
  3. 防漂移:有人偷偷用kubectl改了线上配置?ArgoCD 会立刻发现并把它改回来!

🛠️ 实战环节:ArgoCD + Kustomize 落地

很多同学用了 ArgoCD 还在写一大堆重复的 YAML。这时候就需要Kustomize出场了。
它通过Base (基准) + Overlay (覆盖)的方式,让你一套配置复用到开发、测试、生产环境。

1. 项目结构设计

告别 Helm 的复杂模板,Kustomize 的结构清晰可见:

deploy/ ├── base/ # 通用配置 │ ├── deployment.yaml │ ├── service.yaml │ └── kustomization.yaml └── overlays/ # 环境差异化配置 ├── dev/ │ ├── kustomization.yaml │ └── patch-replicas.yaml (开发环境 1副本) └── prod/ ├── kustomization.yaml └── patch-replicas.yaml (生产环境 3副本)
2. 定义 Application (ArgoCD 的核心)

我们不需要去 Web 页面点点点,直接写一个 YAML 文件告诉 ArgoCD 要管哪个项目。

apiVersion:argoproj.io/v1alpha1kind:Applicationmetadata:name:my-app-prodnamespace:argocdspec:project:defaultsource:repoURL:'https://github.com/my/repo.git'targetRevision:HEADpath:deploy/overlays/prod# 指向生产环境配置destination:server:'https://kubernetes.default.svc'namespace:my-app# 关键:开启自动同步和自愈syncPolicy:automated:prune:true# Git里删了文件,集群也自动删selfHeal:true# 防止有人手动改集群
3. 实现“秒级发布”

所谓的秒级发布,其实就是修改镜像 Tag的过程。

我们可以在 CI 流水线(比如 GitHub Actions 或 纯构建用的 Jenkins)的最后一步,运行以下命令:

# 进入配置库cddeploy/overlays/prod# 使用 kustomize 修改镜像 Tagkustomize editsetimage my-app=my-registry/my-app:v2.0# 提交到 Gitgitcommit -am"Update image to v2.0"gitpush

就在你git push成功的那一秒,ArgoCD 检测到了变化,立即驱动 K8s 进行滚动更新。
没有复杂的脚本,没有 SSH 连接,一切都是那么丝滑。


💣 灵魂拷问:Jenkins 真的没用了吗?

我不做标题党,客观看待:

  • CI (持续集成):Jenkins 依然很强。编译 Java、打 Docker 镜像、跑单元测试,Jenkins / GitLab CI 依然是主力。
  • CD (持续部署):请把这块地盘让给 ArgoCD。让专业的人做专业的事。

最佳实践公式:

Jenkins (负责打包) + Git (作为源头) + ArgoCD (负责交付)


📝 总结

从脚本为王,到基础设施即代码 (IaC),再到现在的 GitOps。
技术的演进方向永远是:更声明式、更自动化、更安全。

如果你还在维护那些几百行的 Jenkins Pipeline 脚本,每天提心吊胆怕发布失败,不妨试试 ArgoCD。
相信我,一旦你体验过**“提交代码即上线”**的快感,你就再也回不去 Jenkins 的时代了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 22:52:15

AI代理协作系统部署与监控实战指南

AI代理协作系统部署与监控实战指南 【免费下载链接】crewAI CrewAI 是一个前沿框架,用于协调具有角色扮演能力的自主 AI 代理,通过促进协作智能,使代理能够无缝协作,共同解决复杂任务。 项目地址: https://gitcode.com/GitHub_T…

作者头像 李华
网站建设 2026/6/30 20:51:02

GLM-4-9B全面解析:开源大模型如何重塑企业AI应用格局

GLM-4-9B全面解析:开源大模型如何重塑企业AI应用格局 【免费下载链接】glm-4-9b 项目地址: https://ai.gitcode.com/zai-org/glm-4-9b 导语 智谱AI推出的GLM-4-9B开源大模型以其超越Llama-3-8B的综合性能、多模态能力和企业级功能,正在成为2024…

作者头像 李华
网站建设 2026/7/3 13:29:37

3分钟快速上手:Qwen3-VL多模态AI模型的完整使用指南

3分钟快速上手:Qwen3-VL多模态AI模型的完整使用指南 【免费下载链接】Qwen3-VL-4B-Instruct-FP8 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/Qwen3-VL-4B-Instruct-FP8 想要体验最新一代的多模态人工智能吗?Qwen3-VL-4B-Instruct-FP8…

作者头像 李华
网站建设 2026/6/30 16:35:30

动态GIF库gif-h使用教程

动态GIF库gif-h使用教程 【免费下载链接】gif-h Simple C one-header library for the creation of animated GIFs from image data. 项目地址: https://gitcode.com/gh_mirrors/gi/gif-h 1. 项目介绍 gif-h 是一个简单的C单头文件库,用于创建从图像数据生成…

作者头像 李华