Update .forgejo/workflows/deploy.yaml

This commit is contained in:
bohessefm 2026-01-30 19:07:04 +00:00
parent eb868c3c8f
commit 7ab754a6c0

View file

@ -5,7 +5,7 @@ on:
push: push:
branches: branches:
- dev - dev
#jobssss
jobs: jobs:
build-and-push: build-and-push:
runs-on: docker-ready runs-on: docker-ready
@ -16,7 +16,10 @@ jobs:
shell: sh shell: sh
steps: steps:
- name: Install Dependencies - name: Install Dependencies
run: apk add --no-cache git docker-cli docker-cli-buildx nodejs run: |
# Troca para um mirror mais rápido para evitar demora de minutos
sed -i 's/dl-cdn.alpinelinux.org/mirror.leaseweb.com/g' /etc/apk/repositories
apk add --no-cache git docker-cli docker-cli-buildx nodejs
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
@ -66,10 +69,14 @@ jobs:
steps: steps:
- name: Install Tools (Git & Kubectl) - name: Install Tools (Git & Kubectl)
run: | run: |
# Acelera a instalação no Alpine
sed -i 's/dl-cdn.alpinelinux.org/mirror.leaseweb.com/g' /etc/apk/repositories
apk add --no-cache git curl apk add --no-cache git curl
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x kubectl # Baixa o kubectl forçando o nome do arquivo de saída (-o) para evitar erro de formato
mv kubectl /usr/local/bin/ K8S_VERSION=$(curl -L -s https://dl.k8s.io/release/stable.txt)
curl -L -o /usr/local/bin/kubectl "https://dl.k8s.io/release/${K8S_VERSION}/bin/linux/amd64/kubectl"
chmod +x /usr/local/bin/kubectl
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
@ -81,28 +88,28 @@ jobs:
echo "${{ secrets.KUBECONFIG }}" > $HOME/.kube/config echo "${{ secrets.KUBECONFIG }}" > $HOME/.kube/config
chmod 600 $HOME/.kube/config chmod 600 $HOME/.kube/config
# 2. DEBUG: Verifica se o arquivo tem conteúdo agora # 2. DEBUG
echo "--- Verificando tamanho do arquivo ---" echo "--- Verificando tamanho do arquivo ---"
ls -la $HOME/.kube/config ls -la $HOME/.kube/config
echo "--- Primeiras linhas (se vier vazio, o segredo no Forgejo está errado) ---"
head -n 2 $HOME/.kube/config
# 3. Força o uso do arquivo e testa conexão # 3. Força o uso do arquivo e testa conexão
export KUBECONFIG=$HOME/.kube/config export KUBECONFIG=$HOME/.kube/config
echo "Testando conexão com o cluster 86.48.29.139..." echo "Testando conexão com o cluster..."
kubectl cluster-info || { echo "ERRO: O arquivo de config está vazio ou o IP/Porta (6443) está bloqueado!"; exit 1; } kubectl cluster-info || { echo "ERRO: Falha na conexão com o cluster!"; exit 1; }
# 4. Aplica os Secrets e Manifestos # 4. Aplica os Secrets
kubectl -n gohorsejobsdev delete secret backend-secrets --ignore-not-found kubectl -n gohorsejobsdev delete secret backend-secrets --ignore-not-found
kubectl -n gohorsejobsdev create secret generic backend-secrets \ kubectl -n gohorsejobsdev create secret generic backend-secrets \
--from-literal=DATABASE_URL="${{ vars.DATABASE_URL }}" \ --from-literal=DATABASE_URL="${{ vars.DATABASE_URL }}" \
--from-literal=JWT_SECRET="${{ vars.JWT_SECRET }}" \ --from-literal=JWT_SECRET="${{ vars.JWT_SECRET }}" \
--from-literal=MTU="${{ vars.MTU }}" --from-literal=MTU="${{ vars.MTU }}"
# 5. Aplica os Manifestos
kubectl apply -f k8s/dev/ -n gohorsejobsdev kubectl apply -f k8s/dev/ -n gohorsejobsdev
# 5. Restart para atualizar as imagens # 6. Restart para atualizar as imagens
kubectl -n gohorsejobsdev rollout restart deployment gohorse-backend-dev kubectl -n gohorsejobsdev rollout restart deployment gohorse-backend-dev
kubectl -n gohorsejobsdev rollout restart deployment gohorse-backoffice-dev kubectl -n gohorsejobsdev rollout restart deployment gohorse-backoffice-dev
# 7. Aguarda o status da atualização
kubectl -n gohorsejobsdev rollout status deployment gohorse-backend-dev kubectl -n gohorsejobsdev rollout status deployment gohorse-backend-dev