Files
apps-registry/.gitea/workflows/build.yaml
T

55 lines
1.8 KiB
YAML

name: Build and Push Frontend
on:
push:
branches:
- main
paths:
- 'workloads/ecommerce/index.html'
- 'workloads/ecommerce/Dockerfile'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout del código
uses: actions/checkout@v3
with:
fetch-depth: 0 # Clonar todo para evitar errores de historial
- name: Definir Versión Semántica
id: vars
run: echo "VERSION=v1.0.${{ github.run_number }}" >> $GITHUB_OUTPUT
- name: Login en Gitea Registry
uses: docker/login-action@v2
with:
registry: gitea.cruzcloud.net
username: ${{ secrets.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_PASSWORD }}
- name: Construir y Subir Imagen
uses: docker/build-push-action@v4
with:
context: workloads/ecommerce/
push: true
tags: |
gitea.cruzcloud.net/devops/ecommerce-frontend:${{ steps.vars.outputs.VERSION }}
gitea.cruzcloud.net/devops/ecommerce-frontend:latest
- name: Actualizar Manifiesto GitOps (CD)
run: |
# 1. Configuración de identidad
git config --global user.name "Gitea Actions"
git config --global user.email "[email protected]"
# 2. Sincronización agresiva: asegurar que estamos en la rama correcta
git checkout main
# 3. Aplicar el cambio
sed -i -E "s|(image: gitea.cruzcloud.net/devops/ecommerce-frontend:).*|\1${{ steps.vars.outputs.VERSION }}|g" workloads/ecommerce/frontend.yaml
# 4. Commit y Push forzado
git add workloads/ecommerce/frontend.yaml
git commit -m "chore: release ${{ steps.vars.outputs.VERSION }} [skip ci]" || exit 0
git push origin main --force