ci: refine deploy workflow with podman fixes, dir check and action url
This commit is contained in:
parent
83e16d78f6
commit
82e55ed9ac
1 changed files with 17 additions and 11 deletions
|
|
@ -3,37 +3,43 @@ name: Deploy Backend (Dev)
|
|||
on:
|
||||
push:
|
||||
branches:
|
||||
- dev # O deploy só será disparado quando você enviar código para a branch 'dev'
|
||||
- dev
|
||||
paths:
|
||||
- 'backend/**' # O deploy só dispara se houver mudança especificamente na pasta do backend
|
||||
- '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)
|
||||
uses: appleboy/ssh-action@v1.0.3
|
||||
# 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. Navega até a pasta onde está o código
|
||||
# 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. Garante que está na branch dev e atualiza o código
|
||||
# 2. Atualiza o código na branch dev
|
||||
git fetch origin
|
||||
git checkout dev
|
||||
git pull origin dev
|
||||
|
||||
# 3. Build isolado da imagem do backend
|
||||
# O comando aponta para a subpasta './backend' conforme sua estrutura de arquivos
|
||||
podman build -t gohorsejobs-backend-dev ./backend
|
||||
# 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 específico de desenvolvimento
|
||||
# Recomendado ter um serviço/container separado para dev (ex: gohorsejobs-backend-dev)
|
||||
# 4. Reinicia o serviço via Systemd (Quadlet)
|
||||
sudo systemctl restart gohorsejobs-backend-dev
|
||||
|
||||
# 5. Limpeza de imagens antigas
|
||||
# 5. Limpeza de imagens antigas para economizar espaço na VPS
|
||||
podman image prune -f
|
||||
Loading…
Reference in a new issue