diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 4dcbeee..dc7383d 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -26,7 +26,6 @@ jobs: with: fetch-depth: 1 - # Login direto no Registry usando a Action oficial - name: Login to Forgejo Registry uses: docker/login-action@v3 with: @@ -34,29 +33,41 @@ jobs: username: bohessefm password: ${{ secrets.FORGEJO_TOKEN }} - # Build e Push usando o daemon do host (evita perda de auth do Buildx) - - name: Build and Push Backend + # Build do Backend carregando no Daemon local primeiro + - name: Build Backend uses: docker/build-push-action@v5 with: context: ./backend file: ./backend/Dockerfile - push: true + load: true provenance: false - # Removido o builder isolado para usar o docker nativo - tags: | - ${{ env.REGISTRY }}/bohessefm/gohorsejobs:latest - ${{ env.REGISTRY }}/bohessefm/gohorsejobs:${{ github.sha }} + tags: ${{ env.REGISTRY }}/bohessefm/gohorsejobs:${{ github.sha }} - - name: Build and Push Backoffice + # Push manual sequencial para evitar o Erro 500 (Timeout de Manifesto) + - name: Push Backend Tags + run: | + docker tag ${{ env.REGISTRY }}/bohessefm/gohorsejobs:${{ github.sha }} ${{ env.REGISTRY }}/bohessefm/gohorsejobs:latest + docker push ${{ env.REGISTRY }}/bohessefm/gohorsejobs:${{ github.sha }} + sleep 2 + docker push ${{ env.REGISTRY }}/bohessefm/gohorsejobs:latest + + # Build do Backoffice + - name: Build Backoffice uses: docker/build-push-action@v5 with: context: ./backoffice file: ./backoffice/Dockerfile - push: true + load: true provenance: false - tags: | - ${{ env.REGISTRY }}/bohessefm/backoffice:latest - ${{ env.REGISTRY }}/bohessefm/backoffice:${{ github.sha }} + tags: ${{ env.REGISTRY }}/bohessefm/backoffice:${{ github.sha }} + + # Push manual sequencial do Backoffice + - name: Push Backoffice Tags + run: | + docker tag ${{ env.REGISTRY }}/bohessefm/backoffice:${{ github.sha }} ${{ env.REGISTRY }}/bohessefm/backoffice:latest + docker push ${{ env.REGISTRY }}/bohessefm/backoffice:${{ github.sha }} + sleep 2 + docker push ${{ env.REGISTRY }}/bohessefm/backoffice:latest deploy-to-k3s: needs: build-and-push @@ -86,14 +97,14 @@ jobs: # 1. Garantir o Namespace kubectl create namespace gohorsejobsdev --dry-run=client -o yaml | kubectl apply -f - - # 2. IMAGE PULL SECRET (Crucial para o K3s baixar a imagem) + # 2. IMAGE PULL SECRET (O cluster usa isso para puxar a imagem do Forgejo) kubectl -n gohorsejobsdev create secret docker-registry forgejo-registry \ --docker-server=${{ env.REGISTRY }} \ --docker-username=bohessefm \ --docker-password='${{ secrets.FORGEJO_TOKEN }}' \ --dry-run=client -o yaml | kubectl apply -f - - # 3. Gerencia os Secrets de Variáveis de Ambiente + # 3. 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 }}' \ @@ -108,7 +119,7 @@ jobs: kubectl -n gohorsejobsdev set image deployment/gohorse-backend-dev backend=${{ env.REGISTRY }}/bohessefm/gohorsejobs:${{ github.sha }} kubectl -n gohorsejobsdev set image deployment/gohorse-backoffice-dev backoffice=${{ env.REGISTRY }}/bohessefm/backoffice:${{ github.sha }} - # 6. Força o reinício dos pods + # 6. Restart Forçado (Gohorse Style) 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