#!/usr/bin/env bash # ============================================================================= # Déploiement du site Alliance Boréale vers web-frontal-01 (ou tout hôte nginx). # # Synchronise public/ vers la racine web distante, puis (optionnel) recharge # nginx. N'embarque aucun secret. À lancer depuis votre poste. # # ./deploy/deployer.sh # déploie avec les valeurs par défaut # HOTE=web-frontal-01 ./deploy/deployer.sh # RACINE=/var/www/alliance-boreale UTILISATEUR=ansible ./deploy/deployer.sh # RECHARGER_NGINX=1 ./deploy/deployer.sh # recharge nginx après copie # DRY_RUN=1 ./deploy/deployer.sh # simulation, ne copie rien # ============================================================================= set -euo pipefail # --- Paramètres (surcharger par variables d'environnement) ------------------ HOTE="${HOTE:-web-frontal-01}" UTILISATEUR="${UTILISATEUR:-ansible}" RACINE="${RACINE:-/var/www/alliance-boreale}" PORT_SSH="${PORT_SSH:-22}" RECHARGER_NGINX="${RECHARGER_NGINX:-0}" DRY_RUN="${DRY_RUN:-0}" # --- Emplacements ----------------------------------------------------------- ICI="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" SOURCE="${ICI}/public/" if [[ ! -d "${SOURCE}" ]]; then echo "ERREUR : dossier source introuvable : ${SOURCE}" >&2 exit 1 fi CIBLE="${UTILISATEUR}@${HOTE}:${RACINE}/" OPTS_RSYNC=(-az --delete --human-readable --itemize-changes --exclude ".DS_Store" --exclude "*.swp") [[ "${DRY_RUN}" == "1" ]] && OPTS_RSYNC+=(--dry-run) echo "==> Source : ${SOURCE}" echo "==> Cible : ${CIBLE} (port SSH ${PORT_SSH})" [[ "${DRY_RUN}" == "1" ]] && echo "==> MODE SIMULATION (aucune écriture)" echo rsync "${OPTS_RSYNC[@]}" -e "ssh -p ${PORT_SSH}" "${SOURCE}" "${CIBLE}" if [[ "${RECHARGER_NGINX}" == "1" && "${DRY_RUN}" != "1" ]]; then echo echo "==> Vérification et rechargement de nginx sur ${HOTE}" ssh -p "${PORT_SSH}" "${UTILISATEUR}@${HOTE}" 'sudo nginx -t && sudo systemctl reload nginx' fi echo echo "==> Terminé." [[ "${DRY_RUN}" == "1" ]] && echo " (simulation — relancer sans DRY_RUN=1 pour déployer pour de vrai)"