From 5af737fdfe5fa3a7205b4fae19eda8fe7cd6a292 Mon Sep 17 00:00:00 2001 From: dmolinari Date: Tue, 17 Jun 2025 13:11:20 -0300 Subject: [PATCH] Retry 1311 --- .gitea/workflows/deploy.yml | 31 +++++++++++++------------------ 1 file changed, 13 insertions(+), 18 deletions(-) diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 0f4d53b..5357c74 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -12,48 +12,43 @@ jobs: steps: - name: Run Entire CI/CD Process on Host via SSH run: | - set -e # Fallar inmediatamente si algo sale mal + set -e # 1. Preparar el cliente SSH - echo "Preparing SSH client..." - apt-get update && apt-get install -y openssh-client + apt-get update > /dev/null && apt-get install -y openssh-client git > /dev/null mkdir -p ~/.ssh echo "${{ secrets.PROD_SERVER_SSH_KEY }}" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa ssh-keyscan -H ${{ secrets.PROD_SERVER_HOST }} >> ~/.ssh/known_hosts # 2. Conectarse al HOST y ejecutar todo el proceso allí - echo "Connecting to host to execute entire CI/CD process..." - # Pasamos las variables como argumentos a 'bash -s'. - # El '$0', '$1', etc. dentro del script se referirán a estos. ssh ${{ secrets.PROD_SERVER_USER }}@${{ secrets.PROD_SERVER_HOST }} 'bash -s' \ - "${{ gitea.remotes.origin.url }}" \ "${{ gitea.sha }}" \ "${{ gitea.run_id }}" \ "${{ gitea.repository }}" \ '${{ secrets.DB_SA_PASSWORD_SECRET }}' \ '${{ secrets.JWT_KEY_SECRET }}' \ << 'EOF' - set -e # También aquí, para fallar en la sesión remota + set -e # --- PARTE 1: PREPARACIÓN (EN EL HOST) --- echo "--- (HOST) Preparing temporary workspace ---" - # Leemos los argumentos que pasamos desde el comando ssh - REPO_URL="$1" - COMMIT_SHA="$2" - RUN_ID="$3" - REPO_NAME_RAW="$4" - DB_PASSWORD="$5" - JWT_KEY="$6" + COMMIT_SHA="$1" + RUN_ID="$2" + REPO_NAME_RAW="$3" + DB_PASSWORD="$4" + JWT_KEY="$5" - # Convertimos a minúsculas usando shell REPO_NAME=$(echo "$REPO_NAME_RAW" | tr '[:upper:]' '[:lower:]') TEMP_DIR="/tmp/gitea-build/$RUN_ID" - echo "Cloning repository $REPO_URL..." + # ¡¡LA CORRECCIÓN ESTÁ AQUÍ!! Usamos la ruta real del volumen. + GITEA_REPO_PATH="/var/lib/docker/volumes/gitea-stack_gitea-data/_data/git/repositories/${REPO_NAME}.git" + + echo "Cloning repository from local path: $GITEA_REPO_PATH" rm -rf $TEMP_DIR - git clone --branch main --single-branch "$REPO_URL" $TEMP_DIR + git clone $GITEA_REPO_PATH $TEMP_DIR cd $TEMP_DIR git checkout "$COMMIT_SHA"