Update .forgejo/workflows/deploy.yaml

This commit is contained in:
bohessefm 2026-01-30 22:41:38 +00:00
parent b0a08510a2
commit 2a7cb635a1

View file

@ -28,15 +28,20 @@ jobs:
- name: Set up Docker Buildx
run: |
# Remove builders antigos e limpa instâncias com erro
# 1. Tenta remover o builder antigo mas não trava se não existir
docker buildx rm local-builder || true
# Cria um novo builder usando docker-container (indispensável para o push funcionar)
docker buildx create --name local-builder --driver docker-container --use --bootstrap
docker buildx inspect --use
# 2. Cria o builder com o driver correto
docker buildx create --name local-builder --driver docker-container
# 3. Ativa o builder explicitamente
docker buildx use local-builder
# 4. Inicializa o builder (bootstrap)
docker buildx inspect --bootstrap
- name: Login to Forgejo Registry
run: |
# O login deve ser feito no host para que o Buildx enxergue as credenciais
echo "${{ secrets.FORGEJO_TOKEN }}" | docker login ${{ env.REGISTRY }} -u bohessefm --password-stdin
- name: Build and Push Backend
@ -45,7 +50,6 @@ jobs:
context: ./backend
file: ./backend/Dockerfile
push: true
# Garante que ele use o builder que acabamos de criar
builder: local-builder
provenance: false
tags: |
@ -89,10 +93,8 @@ jobs:
chmod 600 $HOME/.kube/config
export KUBECONFIG=$HOME/.kube/config
# Criar namespace se não existir
kubectl create namespace gohorsejobsdev --dry-run=client -o yaml | kubectl apply -f -
# 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 }}' \
@ -113,20 +115,16 @@ jobs:
--from-literal=AMQP_URL='${{ vars.AMQP_URL }}' \
--from-literal=DATABASE_URL='${{ vars.DATABASE_URL }}'
# Gerencia o Secret de Autenticação da Imagem
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 -
# Garante o ImagePullSecret na conta padrão para evitar ErrImagePull
kubectl patch serviceaccount default -p '{"imagePullSecrets": [{"name": "forgejo-registry"}]}' -n gohorsejobsdev
# Aplica os Manifestos
kubectl apply -f k8s/dev/ -n gohorsejobsdev
# Rollout seguro para carregar variáveis novas
kubectl rollout restart deployment/gohorse-backend-dev -n gohorsejobsdev || true
kubectl rollout restart deployment/gohorse-backoffice-dev -n gohorsejobsdev || true