38 lines
1.5 KiB
Bash
Executable File
38 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# ===============================================================================================================
|
|
# deploy-frontend-s3.sh - Sincroniza el frontend React con S3
|
|
# Descripción:
|
|
# Sube la carpeta build/ al bucket S3 designado para el sitio estático.
|
|
# La invalidación de CloudFront se realiza en el pipeline (paso 7).
|
|
#
|
|
# Uso:
|
|
# S3_FRONTEND_BUCKET=ccsoft-proyectosacc-frontend bash deploy-frontend-s3.sh
|
|
#
|
|
# Autor: Área de Tecnología y Desarrollo - CCsoft
|
|
# ===============================================================================================================
|
|
|
|
set -euo pipefail
|
|
|
|
# -------------------------------------------------------------------------------
|
|
# Validación de variables
|
|
# -------------------------------------------------------------------------------
|
|
S3_FRONTEND_BUCKET="${S3_FRONTEND_BUCKET:-}"
|
|
BUILD_DIR="${BUILD_DIR:-build}"
|
|
|
|
if [[ -z "$S3_FRONTEND_BUCKET" ]]; then
|
|
echo "[ERROR] Variable S3_FRONTEND_BUCKET no definida" >&2
|
|
exit 1
|
|
fi
|
|
|
|
if [[ ! -d "$BUILD_DIR" ]]; then
|
|
echo "[ERROR] Directorio ${BUILD_DIR} no encontrado" >&2
|
|
exit 1
|
|
fi
|
|
|
|
# -------------------------------------------------------------------------------
|
|
# Sincronización a S3
|
|
# -------------------------------------------------------------------------------
|
|
echo "[INFO] Sincronizando ${BUILD_DIR}/ a s3://${S3_FRONTEND_BUCKET}/ ..."
|
|
aws s3 sync "${BUILD_DIR}/" "s3://${S3_FRONTEND_BUCKET}/" --delete
|
|
echo "[INFO] Sincronización completada exitosamente"
|