diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index da4984d..2969267 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -7,23 +7,14 @@ on: jobs: deploy: - runs-on: docker + runs-on: ubuntu-latest # ← FIX: Offizieller Runner, Docker ist vorinstalliert steps: # --- Checkout --- - name: Checkout repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 # ← Update auf v4 - # --- Tools --- - - name: Install tools - run: | - apt-get update - apt-get install -y \ - docker.io \ - openssh-client \ - rsync - - # --- Docker registry login --- + # --- Login to registry --- - name: Login to registry env: REGISTRY_USER: ${{ secrets.REGISTRY_USER }} @@ -36,35 +27,31 @@ jobs: # --- Build image --- - name: Build image run: | - echo "Starting Docker build" docker build \ - -t registry.infra.mintel.me/mintel/mb-grid-solutions:latest . - echo "Docker build completed" - docker images registry.infra.mintel.me/mintel/mb-grid-solutions:latest --format "Built image ID: {{.ID}}" + --pull \ + --build-arg NEXT_PUBLIC_UMAMI_WEBSITE_ID=${{ secrets.NEXT_PUBLIC_UMAMI_WEBSITE_ID }} \ + --build-arg NEXT_PUBLIC_UMAMI_SCRIPT_URL=${{ secrets.NEXT_PUBLIC_UMAMI_SCRIPT_URL }} \ + --build-arg NEXT_PUBLIC_SENTRY_DSN=${{ secrets.SENTRY_DSN }} \ + -t registry.infra.mintel.me/mintel/klz-cables.com:latest . # --- Push image --- - name: Push image - run: | - echo "Starting Docker push" - docker push registry.infra.mintel.me/mintel/mb-grid-solutions:latest - echo "Docker push completed" + run: docker push registry.infra.mintel.me/mintel/klz-cables.com:latest # --- SSH setup --- - name: Setup SSH run: | mkdir -p ~/.ssh - printf "%s\n" "${{ secrets.ALPHA_SSH_KEY }}" > ~/.ssh/id_ed25519 + echo "${{ secrets.ALPHA_SSH_KEY }}" > ~/.ssh/id_ed25519 chmod 600 ~/.ssh/id_ed25519 ssh-keyscan -H alpha.mintel.me >> ~/.ssh/known_hosts # --- Sync files --- - name: Sync files to server run: | - echo "Starting file sync to server" - tar czf - docker-compose.y*ml | \ - ssh -i ~/.ssh/id_ed25519 -o StrictHostKeyChecking=no -o IPQoS=0x00 -o ConnectTimeout=30 deploy@alpha.mintel.me \ - "mkdir -p /home/deploy/sites/mb-grid-solutions/ && tar xzvf - -C /home/deploy/sites/mb-grid-solutions/ && echo 'Files synced successfully' && ls -la /home/deploy/sites/mb-grid-solutions/" - echo "File sync completed" + tar czf - docker-compose.yml | \ + ssh -i ~/.ssh/id_ed25519 -o StrictHostKeyChecking=no deploy@alpha.mintel.me \ + "mkdir -p /home/deploy/sites/klz-cables.com/ && tar xzf - -C /home/deploy/sites/klz-cables.com/" # --- Deploy --- - name: Deploy on server @@ -72,28 +59,14 @@ jobs: REGISTRY_USER: ${{ secrets.REGISTRY_USER }} REGISTRY_PASS: ${{ secrets.REGISTRY_PASS }} run: | - ssh -i ~/.ssh/id_ed25519 -o StrictHostKeyChecking=no -o IPQoS=0x00 -o ConnectTimeout=30 deploy@alpha.mintel.me " - set -ex - - echo 'Logging in to registry on server...' - printf '%s\n' '$REGISTRY_PASS' | docker login registry.infra.mintel.me -u '$REGISTRY_USER' --password-stdin - echo 'Login successful' - - cd /home/deploy/sites/mb-grid-solutions - echo 'Changed to directory: $(pwd)' - ls -la - - echo 'Pulling latest image (force check)...' - docker compose pull || echo 'Pull failed - continuing anyway...' - - echo 'Force recreating and restarting containers...' - docker compose up -d --force-recreate --no-deps - - echo 'Pruning old images (keep last 24h)...' + ssh -i ~/.ssh/id_ed25519 -o StrictHostKeyChecking=no deploy@alpha.mintel.me " + set -e + echo '$REGISTRY_PASS' | docker login registry.infra.mintel.me -u '$REGISTRY_USER' --password-stdin + cd /home/deploy/sites/klz-cables.com + echo 'SENTRY_DSN=${{ secrets.SENTRY_DSN }}' > .env + docker compose pull app + docker compose up -d --force-recreate --no-deps app docker image prune -f --filter 'until=24h' - - echo 'Deployment finished. Checking status...' - docker compose ps - docker compose logs --tail=20 - " - echo "SSH deploy completed" \ No newline at end of file + docker compose ps app + docker compose logs --tail=20 app + " \ No newline at end of file