From 532e2a3060a61810e44a5d85d2a217ea6af5793e Mon Sep 17 00:00:00 2001 From: devops Date: Sun, 12 Jul 2026 07:02:42 +0000 Subject: [PATCH] Update .gitea/workflows/build.yaml --- .gitea/workflows/build.yaml | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/.gitea/workflows/build.yaml b/.gitea/workflows/build.yaml index 3873dda..c1e4f11 100644 --- a/.gitea/workflows/build.yaml +++ b/.gitea/workflows/build.yaml @@ -12,11 +12,16 @@ jobs: build: runs-on: ubuntu-latest steps: - # 1. Obtenemos el código - name: Checkout del código uses: actions/checkout@v3 - # 2. Nos autenticamos en tu registro local + # 1. NUEVO: Generamos la versión semántica dinámica + - name: Definir Versión Semántica + id: vars + run: | + # Formato v1.0.X (X = número de ejecución del pipeline) + echo "VERSION=v1.0.${{ github.run_number }}" >> $GITHUB_OUTPUT + - name: Login en Gitea Registry uses: docker/login-action@v2 with: @@ -24,29 +29,25 @@ jobs: username: ${{ secrets.REGISTRY_USER }} password: ${{ secrets.REGISTRY_PASSWORD }} - # 3. Construimos y subimos la imagen (Lógica intacta) + # 2. ACTUALIZADO: Usamos la nueva variable para los tags de Docker - name: Construir y Subir Imagen uses: docker/build-push-action@v4 with: context: workloads/ecommerce/ push: true tags: | - gitea.cruzcloud.net/devops/ecommerce-frontend:${{ github.sha }} + gitea.cruzcloud.net/devops/ecommerce-frontend:${{ steps.vars.outputs.VERSION }} gitea.cruzcloud.net/devops/ecommerce-frontend:latest - # 4. NUEVO: Actualizamos el manifiesto y hacemos push + # 3. ACTUALIZADO: Inyectamos la versión limpia en el manifiesto YAML - name: Actualizar Manifiesto GitOps (CD) run: | - # A) Configuramos la identidad de Git para el commit automático git config user.name "Cristian Felipe" git config user.email "cristiancruz0529@gmail.com" - # B) Buscamos la línea de la imagen y reemplazamos el tag dinámicamente - sed -i "s|image: gitea.cruzcloud.net/devops/ecommerce-frontend:.*|image: gitea.cruzcloud.net/devops/ecommerce-frontend:${{ github.sha }}|g" workloads/ecommerce/frontend.yaml + # Reemplazo seguro apuntando a la versión semántica + sed -i -E "s|(image: gitea.cruzcloud.net/devops/ecommerce-frontend:).*|\1${{ steps.vars.outputs.VERSION }}|g" workloads/ecommerce/frontend.yaml - # C) Guardamos los cambios git add workloads/ecommerce/frontend.yaml - - # D) Hacemos el commit. El flag [skip ci] es obligatorio para evitar un bucle infinito. - git commit -m "chore: update frontend image tag to ${{ github.sha }} [skip ci]" || echo "Sin cambios para hacer commit" + git commit -m "chore: release ${{ steps.vars.outputs.VERSION }} [skip ci]" || echo "Sin cambios para hacer commit" git push \ No newline at end of file