diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 6607c0e..d048e01 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -21,7 +21,7 @@ jobs: ssh-keyscan -H ${{ secrets.PROD_SERVER_HOST }} >> ~/.ssh/known_hosts ssh ${{ secrets.PROD_SERVER_USER }}@${{ secrets.PROD_SERVER_HOST }} " - export UPTIME_KUMA_URL='${{ secrets.UPTIME_KUMA_URL }}' + export UPTIME_KUMA_URL='${{ secrets.UPTIME_KUMA_URL }}' # <-- ¡Este secreto ahora tiene el valor interno! export UPTIME_KUMA_USER='${{ secrets.UPTIME_KUMA_USER }}' export UPTIME_KUMA_PASSWORD='${{ secrets.UPTIME_KUMA_PASSWORD }}' export UPTIME_KUMA_MAINTENANCE_ID='${{ secrets.UPTIME_KUMA_MAINTENANCE_ID }}' @@ -48,10 +48,10 @@ jobs: if [ "$http_code" -ne 200 ]; then echo "Error: Fallo al iniciar sesión en Uptime Kuma. Código HTTP: $http_code" + cat "$response_body" # Muestra el error de la API return 1 fi - # Extraer el token del JSON de respuesta jq -r '.token' < "$response_body" rm "$response_body" } @@ -63,7 +63,7 @@ jobs: echo "Sesión de Uptime Kuma cerrada." } - # Función para modificar el estado de mantenimiento USANDO el token de sesión + # Función para modificar el estado de mantenimiento set_maintenance_status() { local id=$1 local active_state=$2 @@ -106,11 +106,31 @@ jobs: # --- FIN SECCIÓN DE MONITOREO --- - # ... (El resto de tu script de despliegue no necesita cambios) ... + # ... Resto del script de despliegue ... TEMP_DIR=$(mktemp -d) - # ... etc ... + REPO_OWNER="dmolinari" + REPO_NAME="gestionintegralweb" + GITEA_REPO_PATH="/var/lib/docker/volumes/gitea-stack_gitea-data/_data/git/repositories/${REPO_OWNER}/${REPO_NAME}.git" + echo "Clonando repositorio..." + git clone "$GITEA_REPO_PATH" "$TEMP_DIR" + cd "$TEMP_DIR" + git checkout "$GITEA_SHA" + build_image() { + local dockerfile=$1 + local image_name=$2 + local context=$3 + echo "Construyendo $image_name..." + docker build -t "$image_name" -f "$dockerfile" "$context" + } + echo "Construyendo imágenes..." + (build_image "Backend/GestionIntegral.Api/Dockerfile" "dmolinari/gestionintegralweb-backend:latest" ".") & + (build_image "Frontend/Dockerfile" "dmolinari/gestionintegralweb-frontend:latest" ".") & + wait + cd /opt/gestion-integral echo "Recreando servicios..." docker compose up -d --force-recreate - # ... etc ... + echo "Realizando limpieza de imágenes..." + rm -rf "$TEMP_DIR" + docker image prune -af --filter "until=24h" echo "--- DESPLIEGUE COMPLETADO CON ÉXITO ---" EOSSH \ No newline at end of file