43 lines
1.6 KiB
YAML
43 lines
1.6 KiB
YAML
name: Despliegue Automático Cirux
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
- master
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: app-nextjs
|
|
|
|
options: >-
|
|
-v /var/run/docker.sock:/var/run/docker.sock
|
|
-v /usr/bin/docker:/usr/bin/docker
|
|
-v /usr/libexec/docker/cli-plugins/docker-compose:/usr/libexec/docker/cli-plugins/docker-compose
|
|
-v /home/ubuntu/cirux:/home/ubuntu/cirux
|
|
|
|
steps:
|
|
- name: Descargar código vía Git Nativo
|
|
run: |
|
|
echo "Limpiando entorno temporal del runner..."
|
|
# Movemos temporalmente tu .env a un lugar seguro fuera de la carpeta
|
|
mv /home/ubuntu/cirux/.env /tmp/.cirux.env 2>/dev/null || true
|
|
|
|
# Ahora que el .env está a salvo, borramos TODO en /cirux sin excepciones de forma limpia
|
|
rm -rf /home/ubuntu/cirux/* /home/ubuntu/cirux/.* 2>/dev/null || true
|
|
|
|
echo "Clonando la última versión desde Gitea..."
|
|
|
|
git clone --depth=1 https://token:${{ secrets.GITHUB_TOKEN }}@git.silvioalzate.shop/${{ gitea.repository }} /home/ubuntu/cirux # Regresamos tu .env original a la carpeta de la app
|
|
|
|
mv /tmp/.cirux.env /home/ubuntu/cirux/.env 2>/dev/null || true
|
|
|
|
- name: Actualizar archivos en el directorio de producción
|
|
run: |
|
|
echo "Sincronizando archivos en /cirux..."
|
|
|
|
cd /home/ubuntu/cirux
|
|
docker compose --env-file .env up -d --build cirux
|
|
docker image prune -f
|
|
echo "¡Despliegue y actualización de contenedor completados con éxito!"
|