name: Production Build & Deploy on: push: branches: - master - main - staging jobs: build-and-deploy: runs-on: webserver steps: - name: Code auschecken uses: actions/checkout@v4 - name: Docker login to Gitea registry run: echo "${{ secrets.REGISTRY_TOKEN }}" | docker login gitea.hephex.de -u "${{ secrets.REGISTRY_USER }}" --password-stdin - name: Build Docker image run: | docker build -t gitea.hephex.de/daniel/websitedummy:latest -f Dockerfile . - name: Push Docker image run: docker push gitea.hephex.de/daniel/websitedummy:latest - name: Clean up runner Docker cache run: | docker image prune -f docker builder prune -f - name: Deploy via SSH to Debian Server uses: appleboy/ssh-action@v0.1.5 with: host: 192.168.178.132 username: ${{ secrets.PROXMOX_USER }} key: ${{ secrets.PROXMOX_SSH_KEY }} script: | cd /opt/websitedummy # Docker Login auf dem Zielserver echo "${{ secrets.REGISTRY_TOKEN }}" | docker login gitea.hephex.de -u "${{ secrets.REGISTRY_USER }}" --password-stdin docker compose pull docker compose up -d docker image prune -f