ci: configura deploy automatico para k3s

This commit is contained in:
Marcus 2026-01-23 16:34:05 -03:00
parent 7364b6d2ce
commit 05fc1977a8

View file

@ -10,14 +10,17 @@ jobs:
build-and-push:
runs-on: docker-ready
steps:
- name: Checkout code
uses: actions/checkout@v4 # Agora funciona porque o ambiente tem Node
- name: Install Docker Tools
- name: Prepare Environment (Fix 404 & Docker)
run: |
# Como estamos em uma imagem Node Alpine, instalamos o CLI do Docker
# para que ele possa dar ordens ao container de Docker (Sidecar)
apk add --no-cache docker-cli docker-cli-buildx
# Instalamos o Git para que o Checkout use 'git clone' em vez de API REST
# Instalamos o Docker CLI para falar com o sidecar
apk add --no-cache git docker-cli docker-cli-buildx
- name: Checkout code
uses: actions/checkout@v4
with:
# Força o checkout a usar o binário git instalado acima
fetch-depth: 1
- name: Set up Docker Buildx
run: |
@ -60,6 +63,10 @@ jobs:
needs: build-and-push
runs-on: docker-ready
steps:
# Repetimos a instalação do git/kubectl se necessário no segundo job
- name: Prepare Deploy Environment
run: apk add --no-cache git
- name: Checkout code
uses: actions/checkout@v4
@ -71,14 +78,12 @@ jobs:
- name: Update Secrets and Apply
run: |
# Recriando o segredo com as variáveis do Forgejo
kubectl -n gohorsejobsdev delete secret backend-secrets --ignore-not-found
kubectl -n gohorsejobsdev create secret generic backend-secrets \
--from-literal=DATABASE_URL="${{ vars.DATABASE_URL }}" \
--from-literal=JWT_SECRET="${{ vars.JWT_SECRET }}" \
--from-literal=MTU="${{ vars.MTU }}"
# Aplica os manifestos
kubectl apply -f k8s/dev/ -n gohorsejobsdev
kubectl -n gohorsejobsdev rollout restart deployment gohorse-backend-dev
kubectl -n gohorsejobsdev rollout restart deployment gohorse-backoffice-dev