CI/CD

CI/CD

Unsere Pipelines laufen über Gitea Actions. Builds geschehen in Docker, Deployments mittels docker compose up -d --remove-orphans.

Standard-Pipeline

Eine typische Pipeline (siehe .gitea/workflows/main.yml):

name: Build and Deploy
run-name: ${{ gitea.actor }}
on:
  push:
    branches:
      - main

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Build Docker Images
        run: docker compose build
      - name: List Docker Images
        run: docker images

  shutdown:
    runs-on: ubuntu-latest
    needs: build
    steps:
      - uses: actions/checkout@v4
      - name: Stop and Remove Containers
        run: docker compose down

  deploy:
    runs-on: ubuntu-latest
    needs: shutdown
    steps:
      - uses: actions/checkout@v4
      - name: Deploy Containers
        run: docker compose up -d --remove-orphans
      - name: List Running Containers
        run: docker ps

Umgebungen & Secrets

  • Secrets (API Keys, Tokens) in Gitea als verschlüsselte Variablen.
  • Stage/Prod-Deployments via Branches oder Tags (z. B. v1.2.3).
  • Health-Checks nach Deploy, Logs via docker ps/logs.

Beispiele

  • Web-App: Build Next.js, Start per next start im Container.
  • Worker: Node-Script, Cron-Trigger in Compose/Service.