From 82e55ed9acc48524e3c58a0dc903649650e9a683 Mon Sep 17 00:00:00 2001 From: Tiago Yamamoto Date: Sat, 27 Dec 2025 23:17:32 -0300 Subject: [PATCH] ci: refine deploy workflow with podman fixes, dir check and action url --- .forgejo/workflows/deploy.yaml | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 91aff01..199a881 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -3,37 +3,43 @@ name: Deploy Backend (Dev) on: push: branches: - - dev # O deploy só será disparado quando você enviar código para a branch 'dev' + - dev paths: - - 'backend/**' # O deploy só dispara se houver mudança especificamente na pasta do backend + - '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) - uses: appleboy/ssh-action@v1.0.3 + # 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. Navega até a pasta onde está o código + # 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. Garante que está na branch dev e atualiza o código + # 2. Atualiza o código na branch dev git fetch origin git checkout dev git pull origin dev - # 3. Build isolado da imagem do backend - # O comando aponta para a subpasta './backend' conforme sua estrutura de arquivos - podman build -t gohorsejobs-backend-dev ./backend + # 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 específico de desenvolvimento - # Recomendado ter um serviço/container separado para dev (ex: gohorsejobs-backend-dev) + # 4. Reinicia o serviço via Systemd (Quadlet) sudo systemctl restart gohorsejobs-backend-dev - # 5. Limpeza de imagens antigas + # 5. Limpeza de imagens antigas para economizar espaço na VPS podman image prune -f \ No newline at end of file