diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index e67782e..bfbe133 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -14,34 +14,19 @@ jobs: - name: Descargar código vía Git Nativo run: | echo "Limpiando entorno temporal del runner..." - rm -rf ./* .git + find /home/ubuntu/cirux -mindepth 1 ! -name '.env' -delete 2>/dev/null echo "Clonando la última versión desde Gitea..." - git clone --depth=1 https://token:${{ secrets.GITHUB_TOKEN }}@git.silvioalzate.shop/${{ gitea.repository }} . - + # Clonamos temporalmente en otra carpeta para evitar que git clone falle si encuentra el .env + rm -rf /tmp/cirux_clone + git clone --depth=1 http://token:${{ secrets.GITHUB_TOKEN }}@172.24.0.3:3000/${{ gitea.repository }} . + cp -r /tmp/cirux_clone/. /home/ubuntu/cirux/ + rm -rf /tmp/cirux_clone - name: Actualizar archivos en el directorio de producción run: | echo "Sincronizando archivos en /cirux..." - # Limpiamos el destino para evitar archivos obsoletos - rm -rf /cirux/* /cirux/.* 2>/dev/null - # Copiamos todo el contenido nuevo al volumen mapeado - cp -r ./.[!.]* ./* /cirux/ 2>/dev/null || cp -r ./* /cirux/ - - - name: Reconstruir y levantar el contenedor Docker - run: | - echo "Reiniciando el contenedor de la aplicación..." - - # Como el runner comparte el socket de Docker (/var/run/docker.sock), - # puede controlar los contenedores del VPS directamente desde aquí. - - # 1. Entramos al directorio dentro del contenedor del runner - cd /cirux - - # 2. Reconstruimos el servicio 'cirux' usando el archivo .env actualizado + cd /home/ubuntu/cirux docker compose --env-file .env up -d --build cirux - - # 3. Limpieza de imágenes antiguas para optimizar espacio en disco - docker image prune -f - + docker image prune -f echo "¡Despliegue y actualización de contenedor completados con éxito!"