34 lines
1.2 KiB
YAML
34 lines
1.2 KiB
YAML
name: Despliegue Automático Landing Cirux
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
|
|
jobs:
|
|
deploy:
|
|
runs-on: self-hosted
|
|
|
|
steps:
|
|
# En lugar de checkout@v4, usamos comandos de consola nativos
|
|
- name: Descargar código vía Git
|
|
run: |
|
|
echo "Clonando/Actualizando código desde Gitea..."
|
|
# Limpiamos el directorio de trabajo temporal del runner para evitar conflictos
|
|
rm -rf ./* .git
|
|
# Clonamos el repositorio usando el token interno que Gitea genera para cada Job
|
|
git clone --depth=1 http://token:${{ secrets.GITHUB_TOKEN }}@172.24.0.3:3000/${{ gitea.repository }} .
|
|
|
|
- name: Sincronizar archivos al directorio de producción
|
|
run: |
|
|
echo "Iniciando actualización en /landing-cirux..."
|
|
# 1. Limpiamos por completo el destino para evitar archivos fantasmas del pasado
|
|
# (Equivale al --delete que hacíamos en rsync)
|
|
rm -rf /cirux/* /cirux/.* 2>/dev/null
|
|
|
|
# 2. Copiamos todo el contenido actual (incluyendo archivos ocultos como .env o .next)
|
|
# Usamos comodines seguros para evitar bucles con '.' y '..'
|
|
cp -r ./.[!.]* ./* /cirux/ 2>/dev/null || cp -r ./* /cirux/
|
|
|
|
echo "¡Despliegue completado con éxito!"
|