From e5dc3f62d7fcb50a3568f94c83b1a073556848a1 Mon Sep 17 00:00:00 2001 From: Marcus Date: Sat, 31 Jan 2026 15:22:11 -0300 Subject: [PATCH] ajustes novos --- .forgejo/workflows/deploy.yaml | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 44fe45a..3b6da7a 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -8,19 +8,19 @@ on: env: REGISTRY: pipe.gohorsejobs.com IMAGE_NAMESPACE: bohessefm - # Usa o socket compartilhado via volume no Pod do K3s + # Conexão direta via Socket Unix (Zero latência e sem erros de rede) DOCKER_HOST: unix:///run/docker.sock jobs: build-and-push: - # AJUSTE: Use as labels EXATAS do Runner ID 49 para ele "pescar" o job + # Match exato com as labels do Runner ID 50 runs-on: [self-hosted, linux-amd64] defaults: run: shell: sh steps: - - name: Install Tools + - name: Install Build Tools run: apk add --no-cache git docker-cli - name: Checkout code @@ -49,17 +49,29 @@ jobs: needs: build-and-push runs-on: [self-hosted, linux-amd64] steps: + - name: Install Deploy Tools + run: | + # Instala kubectl e gettext (útil para envsubst se precisar no futuro) + apk add --no-cache curl kubectl git + + - name: Checkout code + uses: actions/checkout@v4 + - name: Deploy to K3s run: | - # Como o Runner tem ClusterRole de admin, o kubectl funciona nativamente + # Cria namespace se não existir kubectl create namespace gohorsejobsdev --dry-run=client -o yaml | kubectl apply -f - - # Garante que os manifests do diretório sejam aplicados + # Aplica os manifestos da pasta k8s/dev kubectl apply -f k8s/dev/ -n gohorsejobsdev - # Update das imagens para a versão específica do commit + # Faz o update das imagens nos deployments para o SHA do commit atual + # Isso garante que o Kubernetes baixe a imagem nova mesmo que a tag 'latest' não mude kubectl -n gohorsejobsdev set image deployment/gohorse-backend-dev \ backend=${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/gohorsejobs:${{ github.sha }} kubectl -n gohorsejobsdev set image deployment/gohorse-backoffice-dev \ - backoffice=${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/backoffice:${{ github.sha }} \ No newline at end of file + backoffice=${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/backoffice:${{ github.sha }} + + # Aguarda o rollout completar + kubectl -n gohorsejobsdev rollout status deployment/gohorse-backend-dev --timeout=60s \ No newline at end of file