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.