The Delivery Pipeline
Overview
The platform uses GitOps - your Git repository is the source of truth for what gets deployed.
Pipeline Steps
1. Git Push
You make changes and push to GitHub. This triggers the pipeline.
2. GitHub Actions
A workflow in .github/workflows/ builds your Docker container:
name: Build and Push
on:
push:
branches: [main]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Login to Harbor
uses: docker/login-action@v3
with:
registry: harbor.145.220.72.21.nip.io
username: ${{ secrets.HARBOR_USERNAME }}
password: ${{ secrets.HARBOR_PASSWORD }}
- name: Build and push
uses: docker/build-push-action@v5
with:
push: true
tags: harbor.145.220.72.21.nip.io/${{ github.repository }}:${{ github.sha }}
3. Harbor Registry
Harbor stores your container images. You can browse them at harbor.145.220.72.21.nip.io.
4. ArgoCD Sync
ArgoCD watches your Git repository. When values.yaml changes with a new image tag, it automatically updates the deployment.
5. Live!
Your application is running and accessible at your team's URL.
Versioning Strategy
Use semantic versioning for your image tags:
v1.0.0- Initial releasev1.0.1- Bug fixv1.1.0- New featurev2.0.0- Breaking change
Tip
Always use specific version tags, never latest. This ensures reproducible deployments.
Rollbacks
To roll back to a previous version:
- Update
values.yamlwith the previous image tag - Commit and push
- ArgoCD will sync the old version
Or use ArgoCD UI to sync to a previous Git commit.