Ajouter la commande redeploir à serve-webapp.sh
Récupère les derniers commits (git pull), reconstruit l'image légère et recrée le conteneur en une seule commande — cycle de mise à jour complet du Pi après un push vers origin. Le cache de tuiles est conservé.
This commit is contained in:
@ -19,12 +19,13 @@
|
||||
# make-tls-cert.sh) — ce script ne gère plus le certificat auto-signé.
|
||||
#
|
||||
# Usage :
|
||||
# ./serve-webapp.sh [start] démarrer (build + arrière-plan, redémarrage auto)
|
||||
# ./serve-webapp.sh stop arrêter et supprimer la stack (cache conservé)
|
||||
# ./serve-webapp.sh restart reconstruire l'image et recréer le conteneur
|
||||
# ./serve-webapp.sh status état du conteneur et de la dernière sync
|
||||
# ./serve-webapp.sh sync forcer un rebuild + régénération des vignettes
|
||||
# ./serve-webapp.sh logs suivre les logs du conteneur
|
||||
# ./serve-webapp.sh [start] démarrer (build + arrière-plan, redémarrage auto)
|
||||
# ./serve-webapp.sh stop arrêter et supprimer la stack (cache conservé)
|
||||
# ./serve-webapp.sh restart reconstruire l'image et recréer le conteneur
|
||||
# ./serve-webapp.sh redeploir git pull + rebuild de l'image + redémarrage du conteneur
|
||||
# ./serve-webapp.sh status état du conteneur et de la dernière sync
|
||||
# ./serve-webapp.sh sync forcer un rebuild + régénération des vignettes
|
||||
# ./serve-webapp.sh logs suivre les logs du conteneur
|
||||
set -e
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||
@ -112,6 +113,32 @@ cmd_restart() {
|
||||
echo "Stack webapp recréée (image reconstruite, relit webapp.env)."
|
||||
}
|
||||
|
||||
# Mise à jour complète du checkout git + rebuild de l'image + redémarrage du
|
||||
# conteneur. À lancer sur le Pi après un push vers origin : récupère les
|
||||
# derniers commits, reconstruit l'image légère et recrée le conteneur. Le
|
||||
# cache de tuiles (output/) est conservé — les vignettes déjà présentes ne
|
||||
# sont pas régénérées (voir sync pour forcer un rebuild des vignettes).
|
||||
cmd_redeploy() {
|
||||
if [ ! -d "${SCRIPT_DIR}/.git" ]; then
|
||||
echo "Échec : ${SCRIPT_DIR} n'est pas un dépôt git — impossible de faire git pull." >&2
|
||||
exit 1
|
||||
fi
|
||||
echo "============================================"
|
||||
echo " Redéploiement webapp (${CONTAINER})"
|
||||
echo "============================================"
|
||||
echo " Checkout git : ${SCRIPT_DIR}"
|
||||
echo " Récupération des derniers commits (git pull)..."
|
||||
git -C "${SCRIPT_DIR}" pull --ff-only
|
||||
echo " Image reconstruite, conteneur recréé..."
|
||||
compose up -d --build --force-recreate
|
||||
wait_up "$(published_port)"
|
||||
local port
|
||||
port="$(published_port)"
|
||||
echo "============================================"
|
||||
echo " Webapp redéployée — http://127.0.0.1:${port}/"
|
||||
echo "============================================"
|
||||
}
|
||||
|
||||
cmd_status() {
|
||||
compose ps
|
||||
local port
|
||||
@ -139,14 +166,15 @@ cmd_sync() {
|
||||
|
||||
CMD="${1:-start}"
|
||||
case "$CMD" in
|
||||
start) cmd_start ;;
|
||||
stop) cmd_stop ;;
|
||||
restart) cmd_restart ;;
|
||||
status) cmd_status ;;
|
||||
sync) cmd_sync ;;
|
||||
logs) compose logs -f webapp ;;
|
||||
start) cmd_start ;;
|
||||
stop) cmd_stop ;;
|
||||
restart) cmd_restart ;;
|
||||
redeploir) cmd_redeploy ;;
|
||||
status) cmd_status ;;
|
||||
sync) cmd_sync ;;
|
||||
logs) compose logs -f webapp ;;
|
||||
*)
|
||||
echo "Usage : $0 [start|stop|restart|status|sync|logs]" >&2
|
||||
echo "Usage : $0 [start|stop|restart|redeploir|status|sync|logs]" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
Reference in New Issue
Block a user