35 lines
1.2 KiB
YAML
35 lines
1.2 KiB
YAML
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
|