From 5036c5fe28c9a08e89ed6ca6dc5d6e840fbe0474 Mon Sep 17 00:00:00 2001 From: Marc Mintel Date: Sat, 31 Jan 2026 21:10:12 +0100 Subject: [PATCH] deploy --- .gitea/workflows/deploy.yml | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 406a377d..cbc3e3cc 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -137,7 +137,12 @@ jobs: NEXT_PUBLIC_UMAMI_WEBSITE_ID: ${{ steps.determine.outputs.target == 'production' && secrets.NEXT_PUBLIC_UMAMI_WEBSITE_ID || (steps.determine.outputs.target == 'staging' && secrets.STAGING_NEXT_PUBLIC_UMAMI_WEBSITE_ID || secrets.TESTING_NEXT_PUBLIC_UMAMI_WEBSITE_ID || secrets.NEXT_PUBLIC_UMAMI_WEBSITE_ID) }} NEXT_PUBLIC_UMAMI_SCRIPT_URL: ${{ steps.determine.outputs.target == 'production' && secrets.NEXT_PUBLIC_UMAMI_SCRIPT_URL || (steps.determine.outputs.target == 'staging' && secrets.STAGING_NEXT_PUBLIC_UMAMI_SCRIPT_URL || secrets.TESTING_NEXT_PUBLIC_UMAMI_SCRIPT_URL || secrets.NEXT_PUBLIC_UMAMI_SCRIPT_URL) }} SENTRY_DSN: ${{ steps.determine.outputs.target == 'production' && secrets.SENTRY_DSN || (steps.determine.outputs.target == 'staging' && secrets.STAGING_SENTRY_DSN || secrets.TESTING_SENTRY_DSN || secrets.SENTRY_DSN) }} - # ... alle anderen MAIL_* secrets analog wie im vorherigen Beispiel + MAIL_HOST: ${{ secrets.MAIL_HOST }} + MAIL_PORT: ${{ secrets.MAIL_PORT }} + MAIL_USERNAME: ${{ secrets.MAIL_USERNAME }} + MAIL_PASSWORD: ${{ secrets.MAIL_PASSWORD }} + MAIL_FROM: ${{ secrets.MAIL_FROM }} + MAIL_RECIPIENTS: ${{ secrets.MAIL_RECIPIENTS }} run: | echo "Deploying ${{ steps.determine.outputs.target }} → $IMAGE_TAG" @@ -170,20 +175,20 @@ jobs: scp -o StrictHostKeyChecking=accept-new /tmp/klz-cables.env root@alpha.mintel.me:/home/deploy/sites/klz-cables.com/$ENV_FILE scp -o StrictHostKeyChecking=accept-new docker-compose.yml root@alpha.mintel.me:/home/deploy/sites/klz-cables.com/docker-compose.yml - ssh -o StrictHostKeyChecking=accept-new root@alpha.mintel.me bash << 'EOF' + ssh -o StrictHostKeyChecking=accept-new root@alpha.mintel.me IMAGE_TAG="$IMAGE_TAG" ENV_FILE="$ENV_FILE" TRAEFIK_HOST="$TRAEFIK_HOST" bash << 'EOF' set -e cd /home/deploy/sites/klz-cables.com - chmod 600 $ENV_FILE - chown deploy:deploy $ENV_FILE + chmod 600 "$ENV_FILE" + chown deploy:deploy "$ENV_FILE" echo "${{ secrets.REGISTRY_PASS }}" | docker login registry.infra.mintel.me -u "${{ secrets.REGISTRY_USER }}" --password-stdin echo "→ Pulling image: $IMAGE_TAG" - IMAGE_TAG=$IMAGE_TAG ENV_FILE=$ENV_FILE TRAEFIK_HOST="$TRAEFIK_HOST" docker compose --env-file $ENV_FILE pull + docker compose --env-file "$ENV_FILE" pull echo "→ Starting containers..." - IMAGE_TAG=$IMAGE_TAG ENV_FILE=$ENV_FILE TRAEFIK_HOST="$TRAEFIK_HOST" docker compose --env-file $ENV_FILE up -d + docker compose --env-file "$ENV_FILE" up -d docker system prune -f --filter "until=168h" @@ -191,15 +196,15 @@ jobs: sleep 15 echo "→ Container status:" - docker compose --env-file $ENV_FILE ps + docker compose --env-file "$ENV_FILE" ps - if ! docker compose --env-file $ENV_FILE ps | grep -q "Up"; then + if ! docker compose --env-file "$ENV_FILE" ps | grep -q "Up"; then echo "❌ Fehler: Container nicht Up!" - docker compose --env-file $ENV_FILE logs --tail=150 + docker compose --env-file "$ENV_FILE" logs --tail=150 exit 1 fi - echo "✅ Deployment erfolgreich auf ${{ steps.determine.outputs.target }}!" + echo "✅ Deployment erfolgreich!" EOF rm -f /tmp/klz-cables.env @@ -234,4 +239,4 @@ jobs: curl -s -k -X POST "${{ secrets.GOTIFY_URL }}/message?token=${{ secrets.GOTIFY_TOKEN }}" \ -F "title=❌ Deployment FEHLGESCHLAGEN – ${{ steps.determine.outputs.target || 'unknown' }}" \ -F "message=**Fehler beim Deploy auf ${{ steps.determine.outputs.target }}**\n\nVersion: ${{ steps.determine.outputs.image_tag || '?' }}\nCommit: ${{ steps.determine.outputs.short_sha || '?' }}\nVon: ${{ github.actor }}\nRun: ${{ github.run_id }}\n\nBitte Logs prüfen!" \ - -F "priority=8" || true \ No newline at end of file + -F "priority=8" || true