diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index ce21e51..91aff01 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -9,7 +9,7 @@ on: jobs: deploy-backend-dev: - runs-on: ubuntu-latest + runs-on: docker steps: - name: Executar Deploy via SSH na Apolo (Ambiente Dev) uses: appleboy/ssh-action@v1.0.3 diff --git a/backend/BACKEND.md b/backend/BACKEND.md index 24a8bfe..e538483 100755 --- a/backend/BACKEND.md +++ b/backend/BACKEND.md @@ -78,7 +78,7 @@ Este workflow é disparado automaticamente ao realizar um push para o branch `de **Etapas do CI/CD:** 1. **Trigger:** Push no branch `dev` (apenas alterações em `backend/**`). -2. **Runner:** Executa no ambiente `ubuntu-latest`. +2. **Runner:** Executa no ambiente `docker` (ou `ubuntu-latest` dependendo do runner). 3. **SSH Action:** Conecta no servidor de desenvolvimento (Apolo) via SSH. 4. **Atualização de Código:** * Navega até `/mnt/data/gohorsejobs` (ou caminho configurado). @@ -201,11 +201,6 @@ go run ./cmd/manual_migrate go run ./cmd/api ``` -### Executar com Docker -```bash -docker compose up -d -``` - ### Executar com Podman ```bash # Build @@ -223,3 +218,25 @@ go test ./... # Com cobertura go test -cover ./... ``` + +--- + +## ❓ Troubleshooting (CI/CD & Runner) + +### O Workflow não inicia (`Waiting for runner...`) +* **Causa:** Nenhuma maquina registrada com o label correto. +* **Solução:** + 1. Verifique, no arquivo `.forgejo/workflows/deploy.yaml`, o campo `runs-on`. + 2. Se estiver como `docker`, seu `act_runner` deve ter suporte a este label (ex: `labels: "docker:docker://node:16-bullseye,ubuntu-latest:docker://node:16-bullseye"` no `config.yaml`). + 3. Se o runner for genérico, use `ubuntu-latest`. + +### Falha de SSH (`ssh: handshake failed`) +* **Solução:** + 1. Verifique se a chave pública (`id_rsa.pub`) correspondente à `SSH_KEY` do secret está no arquivo `~/.ssh/authorized_keys` da máquina de destino. + 2. Confira se o IP (`HOST`) está acessível da rede onde o runner está. + +### Falha de Build no Podman +* **Causa:** Falta de permissão ou serviço parado. +* **Solução:** + 1. Rode `podman logs -f ` na máquina de destino. + 2. Verifique se o usuário tem permissão de usar podman (rootless ou sudo).