45 lines
No EOL
1.6 KiB
YAML
45 lines
No EOL
1.6 KiB
YAML
name: Deploy Backend (Dev)
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- dev
|
|
paths:
|
|
- 'backend/**'
|
|
|
|
jobs:
|
|
deploy-backend-dev:
|
|
# Usamos 'docker' porque é a label que seu runner atual possui
|
|
runs-on: docker
|
|
steps:
|
|
- name: Executar Deploy via SSH na Apolo (Ambiente Dev)
|
|
# Ajustado para usar a URL completa do GitHub para evitar o erro 'repository not found'
|
|
uses: https://github.com/appleboy/ssh-action@v1.0.3
|
|
with:
|
|
host: ${{ secrets.HOST }}
|
|
username: ${{ secrets.USERNAME }}
|
|
key: ${{ secrets.SSH_KEY }}
|
|
port: ${{ secrets.PORT || 22 }}
|
|
script: |
|
|
# 1. Verifica se o diretório existe, senão cria e faz o clone inicial
|
|
if [ ! -d "/mnt/data/gohorsejobs" ]; then
|
|
sudo mkdir -p /mnt/data/gohorsejobs
|
|
sudo chown $USER:$USER /mnt/data/gohorsejobs
|
|
git clone https://forgejo-gru.rede5.com.br/rede5/gohorsejobs.git /mnt/data/gohorsejobs
|
|
fi
|
|
|
|
cd /mnt/data/gohorsejobs
|
|
|
|
# 2. Atualiza o código na branch dev
|
|
git fetch origin
|
|
git checkout dev
|
|
git pull origin dev
|
|
|
|
# 3. Build da imagem com o prefixo localhost/ para evitar erro de short-name resolution
|
|
podman build -t localhost/gohorsejobs-backend-dev:latest ./backend
|
|
|
|
# 4. Reinicia o serviço via Systemd (Quadlet)
|
|
sudo systemctl restart gohorsejobs-backend-dev
|
|
|
|
# 5. Limpeza de imagens antigas para economizar espaço na VPS
|
|
podman image prune -f |