This commit is contained in:
Marcus 2026-01-31 11:29:08 -03:00
parent 895c0b0ae4
commit 00d38c6806

View file

@ -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