name: K3s Auto-Deploy on: push: branches: - dev jobs: build-and-deploy: runs-on: self-hosted steps: - name: Checkout Code run: | rm -rf * git clone -b dev https://${{ github.actor }}:${{ secrets.FORGEJO_TOKEN }}@git.saveinmed.com.br/${{ github.repository }}.git . - name: Build and Push run: | # Garante que temos o cliente Docker apk add --no-cache docker-cli export DOCKER_HOST=tcp://localhost:2375 echo "${{ secrets.FORGEJO_TOKEN }}" | docker login git.saveinmed.com.br -u ${{ github.actor }} --password-stdin docker build -t git.saveinmed.com.br/${{ github.repository }}:latest ./backend docker push git.saveinmed.com.br/${{ github.repository }}:latest - name: Deploy run: | # 1. Instala curl e certificados para conseguir baixar o kubectl apk add --no-cache curl ca-certificates # 2. Baixa e instala o kubectl oficial 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/kubectl # 3. Aplica as mudanças no cluster kubectl apply -f k8s/ kubectl rollout restart deployment/photum-backend -n photum