diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 10c7700..d747af8 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -48,7 +48,7 @@ jobs: runs-on: [self-hosted, linux-amd64] steps: - name: Install Deploy Tools - # Solução para o erro do APK: Baixa o binário oficial do kubectl + # Baixa o kubectl oficial para evitar erro de pacote no Alpine run: | apk add --no-cache curl ca-certificates curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" @@ -59,28 +59,32 @@ jobs: uses: actions/checkout@v4 - name: Configure Kubeconfig - # Tentativa com e sem sudo para garantir leitura do config do K3s + # Cria o arquivo de acesso usando o Secret que você configurou no Forgejo run: | mkdir -p ~/.kube - sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config || cp /etc/rancher/k3s/k3s.yaml ~/.kube/config - sudo chmod 600 ~/.kube/config || chmod 600 ~/.kube/config + echo "${{ secrets.KUBE_CONFIG }}" > ~/.kube/config + chmod 600 ~/.kube/config - name: Sync Registry Secret + # Garante que o segredo de pull da imagem exista no namespace de destino run: | kubectl create namespace gohorsejobsdev --dry-run=client -o yaml | kubectl apply -f - kubectl get secret forgejo-registry-secret --namespace=forgejo -o yaml | \ sed 's/namespace: forgejo/namespace: gohorsejobsdev/' | \ - kubectl apply -f - + kubectl apply -f - || echo "Aviso: Falha ao sincronizar secret, prosseguindo..." - name: Deploy to K3s run: | + # Aplica os arquivos YAML da pasta k8s/dev kubectl apply -f k8s/dev/ -n gohorsejobsdev + # Atualiza os deployments para as imagens buildadas neste commit específico 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 }} + # Aguarda a conclusão para garantir que o serviço subiu kubectl -n gohorsejobsdev rollout status deployment/gohorse-backend-dev --timeout=120s \ No newline at end of file