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
|
||||
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."
|
||||
|
||||
@@ -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