From 2bb0cc6b940da1afd4626434a3659aa3ef8e7c51 Mon Sep 17 00:00:00 2001 From: Silvio Date: Mon, 1 Jun 2026 16:33:19 -0500 Subject: [PATCH] Add deploy.sh --- Containerfile | 20 ++++++-------------- deploy.sh | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+), 14 deletions(-) create mode 100644 deploy.sh diff --git a/Containerfile b/Containerfile index a110fb9..25ccd38 100644 --- a/Containerfile +++ b/Containerfile @@ -1,17 +1,9 @@ -FROM docker.io/nginx:alpine +FROM alpine:latest -# Remove default nginx static assets -RUN rm -rf /usr/share/nginx/html/* +WORKDIR /app -# Copy landing page files to nginx web root -COPY index.html /usr/share/nginx/html/ -COPY styles.css /usr/share/nginx/html/ -COPY script.js /usr/share/nginx/html/ -COPY media /usr/share/nginx/html/media +# El script le pasará los archivos clonados a esta carpeta +COPY . /app -# Optional: custom nginx config for SPA or security headers -# COPY nginx.conf /etc/nginx/conf.d/default.conf - -EXPOSE 8090 - -CMD ["nginx", "-g", "daemon off;"] +# Al arrancar, el contenedor vacía el volumen compartido y copia los archivos nuevos +CMD rm -rf /publico/* && cp -r ./* /publico/ && echo "✅ Sitio web actualizado con éxito." diff --git a/deploy.sh b/deploy.sh new file mode 100644 index 0000000..765d60c --- /dev/null +++ b/deploy.sh @@ -0,0 +1,44 @@ +#!/bin/bash + +# --- CONFIGURACIÓN --- +REPO_LOCAL="/home/ubuntu/gitea/gitea/git/repositories/silvioalzate/landing-cirux.git/" +DIR_BUILD="/tmp/build-landing-cirux" +RUTA_WEB_VPS="/var/www/mi-sitio-estatico" +# --------------------- + +echo "🚀 Iniciando despliegue local de landing-cirux..." + +# 1. Limpiar directorio temporal previo si existe +if [ -d "$DIR_BUILD" ]; then + sudo rm -rf "$DIR_BUILD" +fi + +# 2. Clonar el repositorio local usando sudo hacia la carpeta temporal +echo "📦 Clonando repositorio local..." +sudo git clone "$REPO_LOCAL" "$DIR_BUILD" + +# 3. Cambiar la propiedad de los archivos clonados a tu usuario actual +# para que Podman pueda leerlos sin necesidad de usar sudo +sudo chown -R $(whoami):$(whoami) "$DIR_BUILD" + +# 4. Copiar el Dockerfile a la carpeta temporal de construcción +cp Dockerfile "$DIR_BUILD/" + +# 5. Moverse a la carpeta temporal y construir la imagen con Podman +cd "$DIR_BUILD" +echo "🛠️ Construyendo contenedor con Podman..." +podman build -t landing-cirux:latest . + +# 6. Ejecutar el contenedor para actualizar la carpeta de producción de Nginx +echo "🔄 Sincronizando archivos con el directorio web..." +podman run --rm \ + -v "${RUTA_WEB_VPS}":/publico:Z \ + landing-cirux:latest + +# 7. Limpieza final +echo "🧹 Limpiando residuos..." +cd ~ +sudo rm -rf "$DIR_BUILD" +podman image prune -f + +echo "🎉 ¡Despliegue finalizado! Nginx ya está sirviendo la última versión."