- Cambia traducción automática por botones interactivos con banderas - Implementa traducciones privadas (solo visibles para usuario que presiona) - Agrega opción de caché interactivo en script de deploy - Simplifica mensaje de selección de idiomas - Corrige errores de DatabaseConnection duplicada
69 lines
2.0 KiB
Bash
Executable File
69 lines
2.0 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# ==================================================
|
|
# Script para construir y subir una imagen Docker.
|
|
#
|
|
# Uso:
|
|
# ./deploy.sh
|
|
#
|
|
# El script te preguntará interactivamente:
|
|
# - Tag para la imagen
|
|
# - Si deseas usar caché al construir
|
|
# ==================================================
|
|
|
|
set -e
|
|
|
|
# --- Configuración ---
|
|
REGISTRY_URL="10.10.4.3:5000"
|
|
IMAGE_NAME="bot-lastwar"
|
|
|
|
# Preguntar por el tag si no se proporciona como argumento
|
|
if [ -n "$1" ]; then
|
|
TAG="$1"
|
|
else
|
|
read -p "Introduce el tag para la imagen [latest]: " TAG
|
|
TAG="${TAG:-latest}"
|
|
fi
|
|
|
|
# Preguntar si quiere usar caché
|
|
read -p "¿Usar caché al construir? (s/n) [n]: " USE_CACHE
|
|
if [ "${USE_CACHE,,}" = "s" ]; then
|
|
BUILD_CACHE_FLAG=""
|
|
CACHE_STATUS="con caché"
|
|
else
|
|
BUILD_CACHE_FLAG="--no-cache"
|
|
CACHE_STATUS="sin caché"
|
|
fi
|
|
# --- Fin de la Configuración ---
|
|
|
|
# Nombres completos de la imagen
|
|
LOCAL_IMAGE_NAME="${IMAGE_NAME}:${TAG}"
|
|
REMOTE_IMAGE_NAME="${REGISTRY_URL}/${IMAGE_NAME}:${TAG}"
|
|
|
|
# Cambiar al directorio raíz del proyecto (un nivel arriba de este script)
|
|
cd "$(dirname "$0")/.."
|
|
|
|
echo "=========================================="
|
|
echo "Directorio de trabajo: $(pwd)"
|
|
echo "Construyendo imagen: ${LOCAL_IMAGE_NAME}"
|
|
echo "Opción de build: ${CACHE_STATUS}"
|
|
echo "Destino del registry: ${REMOTE_IMAGE_NAME}"
|
|
echo "=========================================="
|
|
|
|
# 1. Construir la imagen Docker
|
|
echo "Paso 1: Construyendo imagen Docker ${CACHE_STATUS}..."
|
|
docker build ${BUILD_CACHE_FLAG} -t "${LOCAL_IMAGE_NAME}" -f docker/Dockerfile .
|
|
|
|
# 2. Etiquetar la imagen para el registry
|
|
echo "Paso 2: Etiquetando imagen como ${REMOTE_IMAGE_NAME}..."
|
|
docker tag "${LOCAL_IMAGE_NAME}" "${REMOTE_IMAGE_NAME}"
|
|
|
|
# 3. Subir la imagen al registry
|
|
echo "Paso 3: Subiendo imagen al registry..."
|
|
docker push "${REMOTE_IMAGE_NAME}"
|
|
|
|
echo "=========================================="
|
|
echo "✅ Imagen subida exitosamente:"
|
|
echo "${REMOTE_IMAGE_NAME}"
|
|
echo "=========================================="
|