DevOpsified Learn Git Branching is an enhanced version of the Learn Git Branching project, redesigned as a complete DevOps and GitOps implementation.
Instead of simply running the application locally, this project demonstrates how a modern application is developed, containerized, deployed, automated and continuously delivered using cloud-native tools.
The project covers every stage of the software delivery lifecycle including Docker, Kubernetes, Helm, GitHub Actions, Argo CD and GitOps deployment strategies.
| Folder | Description |
|---|---|
| π assets | Images, icons, branding and static assets |
| π src | Source code of DevOpsified Learn Git Branching |
| π build | Production build |
| π scripts | Helper scripts |
| π helm | Helm Chart for Kubernetes deployment |
| π k8s | Kubernetes Manifests |
| π .github/workflows | GitHub Actions CI Pipeline |
| π generatedDocs | Auto generated documentation |
| π Dockerfile | Multi-stage Docker image |
| π package.json | Node project dependencies |
| π vite.config.js | Vite configuration |
| π vercel.json | Vercel deployment configuration |
| π kind-config.yaml | Kind cluster configuration |
- Convert Learn Git Branching into a DevOps project
- Dockerize the application
- Deploy on Kubernetes
- Package deployment using Helm
- Implement CI using GitHub Actions
- Implement GitOps CD using Argo CD
- Deploy on Kind Kubernetes Cluster
- Deploy frontend using Vercel
- Automate Helm image updates
- Demonstrate complete DevOps workflow
| Layer | Technology | Purpose |
|---|---|---|
| Frontend | HTML, CSS, JavaScript | Interactive Git Learning |
| Build Tool | Vite | Frontend Build |
| Container | Docker | Containerization |
| Orchestration | Kubernetes | Container Orchestration |
| Package Manager | Helm | Kubernetes Packaging |
| CI | GitHub Actions | Continuous Integration |
| CD | Argo CD | GitOps Continuous Delivery |
| Registry | Docker Hub | Container Registry |
| Local Cluster | Kind | Local Kubernetes |
| Hosting | Vercel | Frontend Hosting |
| Source Control | GitHub | Version Control |
The application is containerized using a multi-stage Docker build.
- Lightweight Image
- Faster Deployment
- Portable
- Consistent Environment
- Easy Distribution
Application
β
Docker Build
β
Docker Image
β
Docker Hub
β
Kubernetes Deployment
The application is deployed on a Kind (Kubernetes in Docker) cluster using Kubernetes manifests.
| Resource | Purpose |
|---|---|
| Deployment | Manages Pods |
| Service | Exposes the application |
| Ingress | Routes external traffic |
| Namespace | Resource isolation |
Internet
β
βΌ
Ingress
β
βΌ
Service
β
βΌ
Deployment
β
βΌ
Pods
β
βΌ
DevOpsified Learn Git Branching
Instead of manually applying Kubernetes manifests, this project packages all Kubernetes resources into a Helm Chart.
Helm simplifies deployment by allowing version-controlled, reusable, and configurable Kubernetes applications.
helm/
β
βββ Chart.yaml
βββ values.yaml
βββ charts/
βββ templates/
βββ deployment.yaml
βββ service.yaml
βββ ingress.yaml
βββ _helpers.tpl
- Easy deployment
- Version management
- Rollback support
- Parameterized values
- Reusable templates
- Production ready
This project uses GitHub Actions for Continuous Integration.
Every push to the main branch automatically starts the pipeline.
Build
β
βΌ
Code Quality
β
βΌ
Push
β
βΌ
Update Helm Chart
The Build stage performs:
- Install dependencies
- Build application
- Verify project structure
- Generate production build
The Code Quality stage performs:
- Linting
- Code formatting checks
- Static analysis
- Build verification
The Push stage:
- Builds Docker image
- Tags image
- Logs into Docker Hub
- Pushes image to Docker Hub
Example:
docker build -t username/devopsified\:latest .
docker push username/devopsified\:latest
After the Docker image is pushed,
GitHub Actions automatically:
- Updates image tag
- Commits changes
- Pushes updated values.yaml
- Triggers GitOps deployment
This removes manual deployment steps.
Argo CD continuously watches the GitHub repository.
Whenever Helm values change,
Argo CD detects the update and synchronizes the Kubernetes cluster automatically.
No manual deployment commands are required.
GitHub
β
βΌ
Updated Helm Chart
β
βΌ
Argo CD
β
βΌ
Sync
β
βΌ
Kind Cluster
β
βΌ
Rolling Update
DevOpsified-Learn-Git-Branching/
β
βββ .github/
β βββ workflows/
β
βββ assets/
β
βββ build/
β
βββ generatedDocs/
β
βββ helm/
β
βββ k8s/
β
βββ scripts/
β
βββ src/
β
βββ Dockerfile
βββ package.json
βββ package-lock.json
βββ vite.config.js
βββ vercel.json
βββ kind-config.yaml
βββ README.md
- Interactive Git learning platform
- Custom DevOpsified branding
- Responsive UI
- Modern interface
- Browser-based learning
- Dockerized application
- Kubernetes deployment
- Helm packaging
- GitHub Actions CI
- GitOps deployment
- Argo CD automation
- Kind Kubernetes Cluster
- Docker Hub integration
- Vercel deployment
β Automatic Build
β Code Quality Verification
β Docker Image Build
β Docker Hub Push
β Helm Chart Update
β GitOps Deployment
β Continuous Delivery
Developer
β
βΌ
GitHub Repository
β
βΌ
GitHub Actions CI
ββββββββββββββΌβββββββββββββ
β β β
βΌ βΌ βΌ
Build Code Quality Push
β
βΌ
Docker Hub Registry
β
βΌ
Update Helm Chart
β
βΌ
GitHub Repository
β
βΌ
Argo CD
β
βΌ
Kind Kubernetes
β
βΌ
Helm Release
β
βΌ
Kubernetes Pods
β
βΌ
DevOpsified Learn Git Branching
Through this project, you will understand:
- Git Fundamentals
- Docker Containerization
- Kubernetes Concepts
- Helm Package Management
- GitHub Actions
- CI/CD Pipeline Design
- GitOps Principles
- Argo CD
- Container Registries
- Kubernetes Networking
- Ingress Controllers
- Continuous Deployment


