Files
FranciaOcupada/.gitea/workflows/_deployment.yml
Resistencia Dev 1422e0fb1d
Some checks failed
CI/CD - Francia Ocupada (La Resistencia) / build-and-deploy (push) Failing after 6s
Renombrat deployment.yml a _deployment.yml i afegit docker-compose_prod.yml
2025-12-14 22:13:22 +01:00

86 lines
2.6 KiB
YAML

name: CI/CD - Francia Ocupada (La Resistencia)
run-name: Build & Deploy por ${{ gitea.actor }}
on:
push:
branches:
- main
- master
workflow_dispatch:
permissions:
contents: read
jobs:
build-and-deploy:
runs-on: [production-ready]
steps:
# PASO 1: Instalar Node.js (requerido por las acciones de GitHub)
- name: 📦 Instalar Node.js
shell: bash
run: |
echo "Verificando si Node.js está instalado..."
if ! command -v node &> /dev/null; then
echo "Node.js no encontrado, instalando..."
if [ -f /etc/debian_version ]; then
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
apt-get install -y nodejs
elif [ -f /etc/alpine-release ]; then
apk add --no-cache nodejs npm
else
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
nvm install 20
fi
else
echo "Node.js ya está instalado: $(node --version)"
fi
node --version
npm --version
# PASO 2: Checkout del Código
- name: 🚀 Checkout del Código
uses: actions/checkout@v4
with:
fetch-depth: 0
# PASO 3: Ejecutar script de deployment en el host
- name: 🎯 Ejecutar Deployment
shell: bash
run: |
echo "🚀 Ejecutando script de deployment en el host..."
PROJECT_DIR="/home/marti/Documentos/Gitea/resistencia"
echo "📂 Directorio del proyecto: $PROJECT_DIR"
# Ir al directorio del proyecto y ejecutar deployment
cd "$PROJECT_DIR"
# Asegurarse de que el script es ejecutable
chmod +x deploy.sh
# Ejecutar el script de deployment
# El script hará git pull para obtener los últimos cambios
./deploy.sh
# PASO 4: Verificación Final
- name: ✅ Verificación Final
if: always()
shell: bash
run: |
PROJECT_DIR="/home/marti/Documentos/Gitea/resistencia"
cd "$PROJECT_DIR"
echo "📊 Estado final de los contenedores:"
docker compose -f docker-compose_prod.yml ps || echo "No se pudo verificar el estado"
echo ""
echo "🌐 URLs de la aplicación:"
echo " - Frontend: https://franciaocupada.martivich.es"
echo " - API: https://api.franciaocupada.martivich.es"