diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 5ba482e..fa4ae36 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -13,38 +13,49 @@ jobs: - name: Checkout code uses: actions/checkout@v3 - # --- NUEVO PASO: PREPARAMOS UN DIRECTORIO DE SALIDA PERSISTENTE --- - - name: Create output directory - run: mkdir -p ${{ gitea.workspace }}/output - - - name: Build Backend Image and Save to Output + - name: Build Backend Image and Extract run: | - docker run --rm \ + echo "Building backend image..." + # 1. Ejecutamos Kaniko y le damos un nombre, SIN --rm + docker run --name kaniko-backend \ -v ${{ gitea.workspace }}:/workspace \ - -v ${{ gitea.workspace }}/output:/output \ gcr.io/kaniko-project/executor:v1.9.0 \ --context=/workspace \ --dockerfile=/workspace/Backend/GestionIntegral.Api/Dockerfile \ --no-push \ --destination=${{ gitea.actor }}/${{ toLower(gitea.repository_name) }}-backend:latest \ - --tarPath=/output/backend.tar + --tarPath=/kaniko/backend.tar # Guardamos en una ruta interna de Kaniko - - name: Build Frontend Image and Save to Output + echo "Extracting backend image..." + # 2. Copiamos el archivo desde el contenedor de Kaniko al workspace del job + docker cp kaniko-backend:/kaniko/backend.tar ${{ gitea.workspace }}/backend.tar + + echo "Cleaning up backend builder..." + # 3. Eliminamos el contenedor de Kaniko + docker rm kaniko-backend + + - name: Build Frontend Image and Extract run: | - docker run --rm \ + echo "Building frontend image..." + docker run --name kaniko-frontend \ -v ${{ gitea.workspace }}:/workspace \ - -v ${{ gitea.workspace }}/output:/output \ gcr.io/kaniko-project/executor:v1.9.0 \ --context=/workspace \ --dockerfile=/workspace/Frontend/Dockerfile \ --no-push \ --destination=${{ gitea.actor }}/${{ toLower(gitea.repository_name) }}-frontend:latest \ - --tarPath=/output/frontend.tar + --tarPath=/kaniko/frontend.tar + + echo "Extracting frontend image..." + docker cp kaniko-frontend:/kaniko/frontend.tar ${{ gitea.workspace }}/frontend.tar + + echo "Cleaning up frontend builder..." + docker rm kaniko-frontend - name: Verify Artifacts run: | - echo "--- Verifying contents of output directory ---" - ls -l ${{ gitea.workspace }}/output + echo "--- Verifying contents of workspace ---" + ls -l ${{ gitea.workspace }} - name: Deploy to Production via SCP and SSH run: | @@ -57,8 +68,7 @@ jobs: ssh-keyscan -H ${{ secrets.PROD_SERVER_HOST }} >> ~/.ssh/known_hosts echo "Copying image files to production server..." - # Ahora copiamos desde el subdirectorio 'output' - scp ${{ gitea.workspace }}/output/backend.tar ${{ gitea.workspace }}/output/frontend.tar ${{ secrets.PROD_SERVER_USER }}@${{ secrets.PROD_SERVER_HOST }}:/opt/gestion-integral/ + scp ${{ gitea.workspace }}/backend.tar ${{ gitea.workspace }}/frontend.tar ${{ secrets.PROD_SERVER_USER }}@${{ secrets.PROD_SERVER_HOST }}:/opt/gestion-integral/ echo "Connecting to host to load images and deploy..." ssh ${{ secrets.PROD_SERVER_USER }}@${{ secrets.PROD_SERVER_HOST }} << 'EOF'