diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index c98e0ec..e661362 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -19,36 +19,29 @@ jobs: steps: - name: Install Runtime Dependencies - run: | - apk add --no-cache git docker-cli nodejs + run: apk add --no-cache git docker-cli nodejs - name: Checkout code uses: actions/checkout@v4 - name: Docker Login - # Usamos o --password-stdin para evitar problemas de escape de caracteres no shell run: | echo "${{ secrets.FORGEJO_TOKEN }}" | docker login ${{ env.REGISTRY }} \ -u ${{ env.IMAGE_NAMESPACE }} --password-stdin + docker info | grep "Registry" # Debug para confirmar login no log - name: Build & Push Backend run: | - # Build docker build -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/gohorsejobs:${{ github.sha }} \ - -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/gohorsejobs:latest ./backend - - # Push (Garante que o daemon use o login do step anterior) - docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/gohorsejobs:${{ github.sha }} + -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/gohorsejobs:latest ./backend && \ + docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/gohorsejobs:${{ github.sha }} && \ docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/gohorsejobs:latest - name: Build & Push Backoffice run: | - # Build docker build -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/backoffice:${{ github.sha }} \ - -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/backoffice:latest ./backoffice - - # Push - docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/backoffice:${{ github.sha }} + -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/backoffice:latest ./backoffice && \ + docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/backoffice:${{ github.sha }} && \ docker push ${{ env.REGISTRY }}/${{ env.IMAGE_NAMESPACE }}/backoffice:latest deploy: @@ -56,18 +49,24 @@ jobs: runs-on: [self-hosted, linux-amd64] steps: - name: Install Deploy Tools - run: | - apk add --no-cache curl kubectl git nodejs + run: apk add --no-cache curl kubectl git nodejs - name: Checkout code uses: actions/checkout@v4 - name: Deploy to K3s run: | + # Garante o namespace antes do apply + kubectl create namespace gohorsejobsdev --dry-run=client -o yaml | kubectl apply -f - + kubectl apply -f k8s/dev/ -n gohorsejobsdev + # Atualiza as imagens usando o SHA específico para evitar cache de imagem velha 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 a atualização ser concluída + kubectl -n gohorsejobsdev rollout status deployment/gohorse-backend-dev --timeout=60s \ No newline at end of file