diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 09b26aa..a465746 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -18,7 +18,7 @@ jobs: - name: Install Dependencies run: | sed -i 's/dl-cdn.alpinelinux.org/mirror.leaseweb.com/g' /etc/apk/repositories - apk add --no-cache git docker-cli docker-cli-buildx nodejs + apk add --no-cache git docker-cli docker-cli-buildx nodejs - name: Checkout code uses: actions/checkout@v4 @@ -28,7 +28,7 @@ jobs: - name: Set up Docker Buildx run: | docker buildx create --use --driver docker-container --name local-builder || docker buildx use local-builder - docker buildx inspect --bootstrap + docker buildx inspect --bootstrap - name: Login to Forgejo Registry uses: docker/login-action@v3 @@ -46,7 +46,7 @@ jobs: provenance: false tags: | pipe.gohorsejobs.com/bohessefm/gohorsejobs:latest - pipe.gohorsejobs.com/bohessefm/gohorsejobs:${{ github.sha }} + pipe.gohorsejobs.com/bohessefm/gohorsejobs:${{ github.sha }} - name: Build and Push Backoffice uses: docker/build-push-action@v5 @@ -57,7 +57,7 @@ jobs: provenance: false tags: | pipe.gohorsejobs.com/bohessefm/backoffice:latest - pipe.gohorsejobs.com/bohessefm/backoffice:${{ github.sha }} + pipe.gohorsejobs.com/bohessefm/backoffice:${{ github.sha }} deploy-to-k3s: needs: build-and-push @@ -72,7 +72,7 @@ jobs: apk add --no-cache git curl K8S_VERSION=$(curl -L -s https://dl.k8s.io/release/stable.txt) curl -L -o /usr/local/bin/kubectl "https://dl.k8s.io/release/${K8S_VERSION}/bin/linux/amd64/kubectl" - chmod +x /usr/local/bin/kubectl + chmod +x /usr/local/bin/kubectl - name: Checkout code uses: actions/checkout@v4 @@ -89,8 +89,7 @@ jobs: echo "Testando conexão com o cluster..." kubectl cluster-info || { echo "ERRO: Falha na conexão com o cluster!"; exit 1; } - # 3. Gerencia os Secrets - # IMPORTANTE: Usamos aspas simples em volta dos valores para proteger caracteres especiais + # 3. Gerencia os Secrets de Variáveis kubectl -n gohorsejobsdev delete secret backend-secrets --ignore-not-found kubectl -n gohorsejobsdev create secret generic backend-secrets \ --from-literal=MTU='${{ vars.MTU }}' \ @@ -111,13 +110,19 @@ jobs: --from-literal=AMQP_URL='${{ vars.AMQP_URL }}' \ --from-literal=DATABASE_URL='${{ vars.DATABASE_URL }}' - # 4. Aplica os Manifestos + # 4. Gerencia o Secret de Autenticação da Imagem (Resolve ErrImagePull) + kubectl -n gohorsejobsdev create secret docker-registry forgejo-registry \ + --docker-server=pipe.gohorsejobs.com \ + --docker-username=bohessefm \ + --docker-password='${{ secrets.FORGEJO_TOKEN }}' \ + --dry-run=client -o yaml | kubectl apply -f - + + # 5. Aplica os Manifestos kubectl apply -f k8s/dev/ -n gohorsejobsdev - # 5. Restart Forçado - # Deletamos os pods para garantir que eles leiam o novo Secret imediatamente - echo "Reiniciando pods para aplicar novas variáveis..." + # 6. Restart Forçado + echo "Reiniciando pods para aplicar novas variáveis e imagens..." kubectl delete pod -n gohorsejobsdev -l app=gohorse-backend-dev --force --grace-period=0 kubectl delete pod -n gohorsejobsdev -l app=gohorse-backoffice-dev --force --grace-period=0 - echo "Deploy finalizado! Verifique os logs se o CrashLoop persistir." \ No newline at end of file + echo "Deploy finalizado!" \ No newline at end of file