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é.
|
# make-tls-cert.sh) — ce script ne gère plus le certificat auto-signé.
|
||||||
#
|
#
|
||||||
# Usage :
|
# Usage :
|
||||||
# ./serve-webapp.sh [start] démarrer (build + arrière-plan, redémarrage auto)
|
# ./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 stop arrêter et supprimer la stack (cache conservé)
|
||||||
# ./serve-webapp.sh restart reconstruire l'image et recréer le conteneur
|
# ./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 redeploir git pull + rebuild de l'image + redémarrage du conteneur
|
||||||
# ./serve-webapp.sh sync forcer un rebuild + régénération des vignettes
|
# ./serve-webapp.sh status état du conteneur et de la dernière sync
|
||||||
# ./serve-webapp.sh logs suivre les logs du conteneur
|
# ./serve-webapp.sh sync forcer un rebuild + régénération des vignettes
|
||||||
|
# ./serve-webapp.sh logs suivre les logs du conteneur
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
||||||
@ -112,6 +113,32 @@ cmd_restart() {
|
|||||||
echo "Stack webapp recréée (image reconstruite, relit webapp.env)."
|
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() {
|
cmd_status() {
|
||||||
compose ps
|
compose ps
|
||||||
local port
|
local port
|
||||||
@ -139,14 +166,15 @@ cmd_sync() {
|
|||||||
|
|
||||||
CMD="${1:-start}"
|
CMD="${1:-start}"
|
||||||
case "$CMD" in
|
case "$CMD" in
|
||||||
start) cmd_start ;;
|
start) cmd_start ;;
|
||||||
stop) cmd_stop ;;
|
stop) cmd_stop ;;
|
||||||
restart) cmd_restart ;;
|
restart) cmd_restart ;;
|
||||||
status) cmd_status ;;
|
redeploir) cmd_redeploy ;;
|
||||||
sync) cmd_sync ;;
|
status) cmd_status ;;
|
||||||
logs) compose logs -f webapp ;;
|
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
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|||||||
Reference in New Issue
Block a user