Skip to content

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 release
  • v1.0.1 - Bug fix
  • v1.1.0 - New feature
  • v2.0.0 - Breaking change

Tip

Always use specific version tags, never latest. This ensures reproducible deployments.

Rollbacks

To roll back to a previous version:

  1. Update values.yaml with the previous image tag
  2. Commit and push
  3. ArgoCD will sync the old version

Or use ArgoCD UI to sync to a previous Git commit.