name: Deploy Backend (Dev) on: push: branches: - dev paths: - 'backend/**' jobs: deploy-backend-dev: # Usamos 'docker' porque é a label que seu runner atual possui runs-on: docker steps: - name: Executar Deploy via SSH na Apolo (Ambiente Dev) # Ajustado para usar a URL completa do GitHub para evitar o erro 'repository not found' uses: https://github.com/appleboy/ssh-action@v1.0.3 with: host: ${{ secrets.HOST }} username: ${{ secrets.USERNAME }} key: ${{ secrets.SSH_KEY }} port: ${{ secrets.PORT || 22 }} script: | # 1. Verifica se o diretório existe, senão cria e faz o clone inicial if [ ! -d "/mnt/data/gohorsejobs" ]; then sudo mkdir -p /mnt/data/gohorsejobs sudo chown $USER:$USER /mnt/data/gohorsejobs git clone https://forgejo-gru.rede5.com.br/rede5/gohorsejobs.git /mnt/data/gohorsejobs fi cd /mnt/data/gohorsejobs # 2. Atualiza o código na branch dev git fetch origin git checkout dev git pull origin dev # 3. Build da imagem com o prefixo localhost/ para evitar erro de short-name resolution podman build -t localhost/gohorsejobs-backend-dev:latest ./backend # 4. Reinicia o serviço via Systemd (Quadlet) sudo systemctl restart gohorsejobs-backend-dev # 5. Limpeza de imagens antigas para economizar espaço na VPS podman image prune -f