Files
veye-lalwa_ynh/scripts/upgrade
T

98 lines
3.2 KiB
Bash
Raw Normal View History

#!/bin/bash
#=================================================
# IMPORT GENERIC HELPERS
#=================================================
source _common.sh
source /usr/share/yunohost/helpers
#=================================================
# STOP SYSTEMD SERVICE
#=================================================
ynh_script_progression "Arrêt de $app…"
# Le minuteur est arrêté aussi : un passage de collecte qui démarrerait pendant
# le remplacement des fichiers travaillerait sur un arbre à moitié écrit.
systemctl stop "$app-pipeline.timer" 2>/dev/null || true
ynh_systemctl --service="$app" --action="stop" --log_path="/var/log/$app/$app.log"
#=================================================
# DOWNLOAD, CHECK AND UNPACK SOURCE
#=================================================
ynh_script_progression "Mise à jour des fichiers…"
# --full_replace efface intégralement $install_dir. C'est sans risque ici : la
# base, le cache et l'export vivent dans $data_dir, qui n'est pas touché.
ynh_setup_source --dest_dir="$install_dir" --full_replace
chown -R "$app:$app" "$install_dir"
chown -R "$app:$app" "$data_dir"
#=================================================
# UPDATE CONFIGURATION
#=================================================
ynh_script_progression "Mise à jour de la configuration…"
ynh_config_add --template="env" --destination="$install_dir/.env"
chown "$app:$app" "$install_dir/.env"
chmod 600 "$install_dir/.env"
#=================================================
# REBUILD
#=================================================
ynh_script_progression "Reconstruction de l'application web (quelques minutes)…"
construire_application_web
ynh_script_progression "Reconstruction de l'environnement Python…"
construire_environnement_python
#=================================================
# DATABASE
#=================================================
if base_deja_remplie; then
ynh_script_progression "Application des migrations, données conservées…"
migrer_la_base
else
# Cas d'une base perdue ou d'une première mise à jour depuis une version
# qui la rangeait ailleurs : on repart du corpus plutôt que de laisser
# l'application sans données.
ynh_script_progression "Base absente : remplissage depuis le corpus…"
remplir_la_base
fi
#=================================================
# REAPPLY SYSTEM CONFIGURATION
#=================================================
ynh_script_progression "Mise à jour de la configuration système…"
mkdir -p "/var/log/$app"
chown -R "$app:$app" "/var/log/$app"
ynh_config_add_nginx
ynh_config_add_systemd
yunohost service add "$app" --description="$DESCRIPTION_SERVICE" \
--log="/var/log/$app/$app.log"
installer_le_minuteur
ynh_config_add_logrotate
#=================================================
# START SYSTEMD SERVICE
#=================================================
ynh_script_progression "Démarrage de $app…"
ynh_systemctl --service="$app" --action="start" --wait_until="Listening" \
--log_path="/var/log/$app/$app.log"
#=================================================
# END OF SCRIPT
#=================================================
ynh_script_progression "Mise à jour de $app terminée"