Repository: https://github.com/lfit/jenkins-gitops
GitOps-driven Jenkins deployment on Kubernetes using ArgoCD, Helm, and Jenkins Configuration as Code (JCasC).
This repository implements a declarative, GitOps-based deployment system for Jenkins CI/CD infrastructure. All Jenkins configuration—from system settings to plugin versions to build agent definitions—is stored as code in Git. Changes automatically trigger validation workflows and propagate through ArgoCD to Kubernetes clusters.
Git serves as the single source of truth. Manual cluster changes are automatically reverted, and all infrastructure modifications go through pull requests with automated validation.
- Declarative Configuration: Everything defined as code using Helm charts and JCasC YAML
- Automated Validation: Helm linting, security scanning, and schema validation on every pull request
- Multi-Environment Deployments: Separate staging and production environments with progressive delivery
- Secrets Management: External secret management via External Secrets Operator
- GitOps Workflow: ArgoCD automatically syncs Git state to Kubernetes clusters
- App-of-Apps Pattern: Single root Application manages all environment Applications
- Zero Manual Configuration: Jenkins settings managed entirely through JCasC
| Document | Description | Audience |
|---|---|---|
| Architecture | System architecture, components, design patterns, and security | Engineers, Architects |
| Getting Started (coming soon) | Prerequisites, setup, and first deployment | New users, Consumers |
| Operations (coming soon) | Day-to-day operations, monitoring, troubleshooting | SRE, Operations |
| Migration (coming soon) | Migrating from legacy Jenkins deployments | Release Engineers |
jenkins-gitops/
├── root-app.yaml # ArgoCD root Application (entry point)
├── argocd-apps/ # ArgoCD Application definitions
├── base/jenkins/ # Base Helm chart and JCasC configuration
├── build/ # Docker image build (Dockerfile, plugins.txt)
├── staging/ # Staging environment overrides
├── production/ # Production environment overrides
└── docs/ # Documentation
- ArgoCD: GitOps continuous delivery
- Kubernetes: Container orchestration platform
- Helm: Package management and templating
- Jenkins Configuration as Code (JCasC): Declarative Jenkins configuration
- External Secrets Operator: External secret management integration
For issues, questions, or support requests, open a ticket at support.linuxfoundation.org.
This project is actively maintained by the Linux Foundation Release Engineering team.