diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 11c4ccc..a0570a6 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -6,41 +6,45 @@ on: - main jobs: - build-and-save: + # Solo tenemos un job que lo hace todo. + build-and-deploy: runs-on: ubuntu-latest + steps: + # =================================================================== + # PASO 1: PREPARACIÓN + # =================================================================== - name: Checkout code uses: actions/checkout@v3 + # =================================================================== + # PASO 2: CONSTRUIR IMÁGENES Y GUARDARLAS COMO FICHEROS + # =================================================================== - name: Build Backend Image and Save as Tar run: | - docker run --rm -v ${{ gitea.workspace }}:/workspace 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=/workspace/backend.tar + docker run --rm -v ${{ gitea.workspace }}:/workspace 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=/workspace/backend.tar - name: Build Frontend Image and Save as Tar run: | - docker run --rm -v ${{ gitea.workspace }}:/workspace 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=/workspace/frontend.tar + docker run --rm -v ${{ gitea.workspace }}:/workspace 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=/workspace/frontend.tar - - name: Upload Image Artifacts - uses: actions/upload-artifact@v2 - with: - name: docker-images - path: | - ${{ gitea.workspace }}/backend.tar - ${{ gitea.workspace }}/frontend.tar - - deploy: - runs-on: ubuntu-latest - needs: build-and-save - - steps: - - name: Download Image Artifacts - uses: actions/download-artifact@v2 - with: - name: docker-images - + # =================================================================== + # PASO 3: DESPLEGAR (COPIAR FICHEROS, CARGAR IMÁGENES Y LEVANTAR) + # =================================================================== - name: Deploy to Production via SCP and SSH run: | - set -e + set -e # Fallar inmediatamente si algo sale mal + echo "Preparing SSH client..." apt-get update && apt-get install -y openssh-client mkdir -p ~/.ssh @@ -49,7 +53,8 @@ jobs: ssh-keyscan -H ${{ secrets.PROD_SERVER_HOST }} >> ~/.ssh/known_hosts echo "Copying image files to production server..." - scp backend.tar frontend.tar ${{ secrets.PROD_SERVER_USER }}@${{ secrets.PROD_SERVER_HOST }}:/opt/gestion-integral/ + # Ahora los ficheros .tar están disponibles en el workspace + 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'