name: K3s Auto-Deploy on: push: branches: - dev - main jobs: build-and-deploy: runs-on: self-hosted steps: - name: Checkout Code uses: actions/checkout@v4 - name: Build and Push Image run: | # Logando no registro interno do Forgejo usando o segredo que você criou echo "${{ secrets.FORGEJO_TOKEN }}" | docker login git.saveinmed.com.br -u ${{ github.actor }} --password-stdin # Build da imagem (O Dockerfile deve estar na raiz ou dentro de /backend) # Se o Dockerfile estiver em /backend, mude o ponto final para ./backend docker build -t git.saveinmed.com.br/${{ github.repository }}:latest . # Enviando para o registro docker push git.saveinmed.com.br/${{ github.repository }}:latest - name: Deploy to K3s run: | # Aplica os manifestos da pasta k8s que você moveu para a raiz kubectl apply -f k8s/deployment.yaml kubectl apply -f k8s/service.yaml kubectl apply -f k8s/ingress.yaml # Força o Kubernetes a baixar a imagem nova (mesmo sendo a mesma tag :latest) kubectl rollout restart deployment/photum-backend -n photum