Gitea+drone+argocd+Harbor:集成CI/CD私有部署教程

需积分: 5 3 下载量 10 浏览量 更新于2024-07-04 收藏 1.86MB PDF 举报
本文是一篇关于Gitea、Drone、ArgoCD、Harbor和Kubernetes集成的全自动CI/CD实践指南。作者首先提到,网络上的许多资源往往割裂地介绍这些工具,但本文旨在整合这些工具,提供一个完整的解决方案。由于作者个人偏好,所有组件都选择进行私有化部署,以避免对公云服务的依赖和频繁的外部访问。 文章的核心内容包括: 1. 环境背景:默认假设读者已经安装了Kubernetes(从1.19.6版本升级至1.23.6),Gitea、Harbor、Drone(版本2.11.1)、Drone Runner for Kubernetes (1.0.0-beta.6) 和 ArgoCD(版本2.40)。部署都是通过Helm包进行,且value.yaml配置文件在文章的GitHub存储库中可找到。 2. Drone配置:Drone部署在Kubernetes上,使用kube-runner,因为它是专门为容器化的环境设计的。文章提到有两个Git仓库,一个用于存放源代码(drone-with-go),另一个存放部署清单(cicd-demo-manifests),这有助于管理不同阶段的流程。 3. Git仓库管理:作者建议创建并维护两个Git库,一个用于代码仓库,另一个用于部署清单,确保代码与部署步骤的一致性。这些仓库应在Gitea中同步,并根据Gitea中的URL自动更新Drone的`.drone.yml`配置。 4. Docker镜像准备:文章提到使用私有Harbor仓库,例如`core.harbor.domain/git/plugins/buildah-docker:1.2.0`和`core.harbor.domain/git/golang:v1.17.5`,并将其映射到Drone的构建过程中使用的特定镜像名称。 5. 版本控制:文章强调版本控制在整个流程中的重要性,确保代码和配置的稳定性,特别是当涉及到不同工具之间的集成时。 6. 参考资料:作者承认自己参考了minghsu0107的大神资源,鼓励读者直接查阅其GitHub仓库获取更深入的技术细节。 这篇文章提供了一个基于Gitea、Drone、ArgoCD、Harbor和Kubernetes的全面CI/CD实践案例,重点在于如何有效地集成和配置这些工具,以实现代码提交后的一体化自动化部署流程。