Add deploy.sh
This commit is contained in:
+6
-14
@@ -1,17 +1,9 @@
|
|||||||
FROM docker.io/nginx:alpine
|
FROM alpine:latest
|
||||||
|
|
||||||
# Remove default nginx static assets
|
WORKDIR /app
|
||||||
RUN rm -rf /usr/share/nginx/html/*
|
|
||||||
|
|
||||||
# Copy landing page files to nginx web root
|
# El script le pasará los archivos clonados a esta carpeta
|
||||||
COPY index.html /usr/share/nginx/html/
|
COPY . /app
|
||||||
COPY styles.css /usr/share/nginx/html/
|
|
||||||
COPY script.js /usr/share/nginx/html/
|
|
||||||
COPY media /usr/share/nginx/html/media
|
|
||||||
|
|
||||||
# Optional: custom nginx config for SPA or security headers
|
# Al arrancar, el contenedor vacía el volumen compartido y copia los archivos nuevos
|
||||||
# COPY nginx.conf /etc/nginx/conf.d/default.conf
|
CMD rm -rf /publico/* && cp -r ./* /publico/ && echo "✅ Sitio web actualizado con éxito."
|
||||||
|
|
||||||
EXPOSE 8090
|
|
||||||
|
|
||||||
CMD ["nginx", "-g", "daemon off;"]
|
|
||||||
|
|||||||
@@ -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."
|
||||||
Reference in New Issue
Block a user