diff --git a/.forgejo/workflows/deploy.yaml b/.forgejo/workflows/deploy.yaml index 1a2c3a3..518065f 100644 --- a/.forgejo/workflows/deploy.yaml +++ b/.forgejo/workflows/deploy.yaml @@ -8,7 +8,6 @@ on: jobs: build-and-push: - # ... (seu código de build que já funcionou, mantenha igual) runs-on: docker-ready env: DOCKER_API_VERSION: "1.43" @@ -18,20 +17,24 @@ jobs: steps: - name: Install Dependencies run: apk add --no-cache git docker-cli docker-cli-buildx nodejs + - name: Checkout code uses: actions/checkout@v4 with: fetch-depth: 1 + - name: Set up Docker Buildx run: | docker buildx create --use --driver docker-container --name local-builder || docker buildx use local-builder docker buildx inspect --bootstrap + - name: Login to Forgejo Registry uses: docker/login-action@v3 with: registry: pipe.gohorsejobs.com username: bohessefm password: ${{ secrets.FORGEJO_TOKEN }} + - name: Build and Push Backend uses: docker/build-push-action@v5 with: @@ -42,6 +45,7 @@ jobs: tags: | pipe.gohorsejobs.com/bohessefm/gohorsejobs:latest pipe.gohorsejobs.com/bohessefm/gohorsejobs:${{ github.sha }} + - name: Build and Push Backoffice uses: docker/build-push-action@v5 with: @@ -63,7 +67,6 @@ jobs: - name: Install Tools (Git & Kubectl) run: | apk add --no-cache git curl - # Baixa o kubectl manualmente para não depender de Actions externas curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" chmod +x kubectl mv kubectl /usr/local/bin/ @@ -73,24 +76,24 @@ jobs: - name: Deploy to K3s run: | - # Cria o diretório .kube e salva o config do secret - mkdir -p $HOME/.kube - echo "${{ secrets.KUBECONFIG }}" > $HOME/.kube/config - chmod 600 $HOME/.kube/config + # 1. SALVA O CONFIG E EXPORTA A VARIÁVEL + echo "${{ secrets.KUBECONFIG }}" > /tmp/kubeconfig + chmod 600 /tmp/kubeconfig + export KUBECONFIG=/tmp/kubeconfig # ISSO AQUI MATA O ERRO DE LOCALHOST - # 1. Deleta e Recria os Segredos no K8s + # 2. DELETA E RECRIA OS SEGREDO 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 }}" - # 2. Aplica os manifestos da pasta k8s/dev + # 3. APLICA OS MANIFESTOS kubectl apply -f k8s/dev/ -n gohorsejobsdev - # 3. Força o restart para pegar a imagem nova (:latest) + # 4. RESTARTA OS DEPLOYMENTS kubectl -n gohorsejobsdev rollout restart deployment gohorse-backend-dev kubectl -n gohorsejobsdev rollout restart deployment gohorse-backoffice-dev - # 4. Verifica o status + # 5. VERIFICA O STATUS FINAL kubectl -n gohorsejobsdev rollout status deployment gohorse-backend-dev \ No newline at end of file