From 5709b5645d1e9d2fd0cae84c72b0f13d7295f378 Mon Sep 17 00:00:00 2001 From: josedario87 Date: Fri, 21 Nov 2025 14:48:59 -0600 Subject: [PATCH] Consolidar workflow en un solo step MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Por bug en Gitea que no permite ejecutar múltiples steps, se consolidó todo el proceso de build y deploy en un único step. --- .gitea/workflows/build-and-deploy.yml | 69 +++++++++++---------------- 1 file changed, 28 insertions(+), 41 deletions(-) diff --git a/.gitea/workflows/build-and-deploy.yml b/.gitea/workflows/build-and-deploy.yml index 7e8e1c4..98d0fcd 100644 --- a/.gitea/workflows/build-and-deploy.yml +++ b/.gitea/workflows/build-and-deploy.yml @@ -5,56 +5,43 @@ on: branches: [ main, master ] jobs: -#───────────────── build & push ───────────────── - build: - runs-on: docker - env: - REG: ${{ vars.REGISTRY_URL }} - APP_NAME: ${{ vars.APP_NAME }} - steps: - - uses: actions/checkout@v3 - - uses: docker/setup-buildx-action@v2 - - uses: docker/login-action@v2 - with: - registry: ${{ vars.REGISTRY_URL }} - username: ${{ secrets.REGISTRY_USERNAME }} - password: ${{ secrets.REGISTRY_PASSWORD }} - - - name: Build+push ${{ vars.APP_NAME }} - run: | - cd nuxt4 - docker build -t $REG/${{ github.repository_owner }}/$APP_NAME:${{ github.sha }} -t $REG/${{ github.repository_owner }}/$APP_NAME:latest . - docker push $REG/${{ github.repository_owner }}/$APP_NAME:${{ github.sha }} - docker push $REG/${{ github.repository_owner }}/$APP_NAME:latest - -#───────────────── deploy ───────────────── - deploy: - needs: build + build-and-deploy: runs-on: docker env: REG: ${{ vars.REGISTRY_URL }} REPO_OWNER: ${{ github.repository_owner }} APP_NAME: ${{ vars.APP_NAME }} - # Variables de entorno para docker-compose APP_DOMAIN: ${{ vars.APP_DOMAIN }} NUXT_PUBLIC_APP_URL: ${{ vars.NUXT_PUBLIC_APP_URL }} steps: - - uses: actions/checkout@v3 - - name: Login to registry - run: docker login ${{ vars.REGISTRY_URL }} -u ${{ secrets.REGISTRY_USERNAME }} -p ${{ secrets.REGISTRY_PASSWORD }} - - - name: Info about environment + - name: Build, push and deploy run: | - echo "ℹ️ Deploying ${{ vars.APP_NAME }}" - echo " Domain: ${{ vars.APP_DOMAIN }}" - echo " Image: ${{ vars.REGISTRY_URL }}/${{ github.repository_owner }}/${{ vars.APP_NAME }}:latest" - echo " Network: principal" + # Checkout + git clone https://gitea.nucleoriofrio.com/${{ github.repository }}.git /tmp/build-${{ github.sha }} + cd /tmp/build-${{ github.sha }} + git checkout ${{ github.sha }} - - name: Pull fresh images used in compose - run: docker compose pull + # Login to registry + docker login $REG -u ${{ secrets.REGISTRY_USERNAME }} -p ${{ secrets.REGISTRY_PASSWORD }} - - name: Clean up stack - run: docker compose --project-name $APP_NAME down + # Build and push + echo "🔨 Building image..." + cd nuxt4 + docker build -t $REG/$REPO_OWNER/$APP_NAME:${{ github.sha }} -t $REG/$REPO_OWNER/$APP_NAME:latest . + echo "📤 Pushing images..." + docker push $REG/$REPO_OWNER/$APP_NAME:${{ github.sha }} + docker push $REG/$REPO_OWNER/$APP_NAME:latest - - name: Update stack - run: docker compose --project-name $APP_NAME up -d --remove-orphans --wait + # Deploy + cd .. + echo "ℹ️ Deploying $APP_NAME" + echo " Domain: $APP_DOMAIN" + echo " Image: $REG/$REPO_OWNER/$APP_NAME:latest" + + docker compose pull + docker compose --project-name $APP_NAME down + docker compose --project-name $APP_NAME up -d --remove-orphans --wait + + # Cleanup + cd / + rm -rf /tmp/build-${{ github.sha }}