diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 526a291..572d7ee 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -1,36 +1,37 @@ name: Despliegue Automático Cirux -on: - push: - branches: - - main - - master +on: [push] jobs: - deploy: - runs-on: host + deploy: + runs-on: self-hosted # Volvemos al modo estándar 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 http://token:${{ secrets.GITHUB_TOKEN }}@172.24.0.3:3000/${{ 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!" + - name: Ejecutar Despliegue Nativo vía SSH + uses: https://github.com/appleboy/ssh-action@v1.0.3 + with: + host: "172.17.0.1" # Esta es la IP por defecto del Host (tu VPS) vista desde dentro de Docker + username: "ubuntu" + key: ${{ secrets.SSH_PRIVATE_KEY }} + port: 22 + script: | + echo "=== Iniciando Despliegue en el VPS Real ===" + mkdir -p /home/ubuntu/cirux + + echo "Protegiendo archivo .env..." + mv /home/ubuntu/cirux/.env /tmp/.cirux.env 2>/dev/null || true + + echo "Limpiando archivos antiguos..." + rm -rf /home/ubuntu/cirux/* /home/ubuntu/cirux/.* 2>/dev/null || true + + echo "Clonando última versión desde Gitea..." + git clone --depth=1 http://172.24.0.3:3000/silvioalzate/cirux.git /home/ubuntu/cirux + + echo "Restaurando archivo .env..." + mv /tmp/.cirux.env /home/ubuntu/cirux/.env 2>/dev/null || true + + echo "Reconstruyendo contenedores Docker..." + cd /home/ubuntu/cirux + docker compose --env-file .env up -d --build cirux + docker image prune -f + echo "=== ¡Despliegue completado con éxito absoluto! ===" \ No newline at end of file