Avant une MAJ
Annoncez la maj aux utilisateurs
Dans l'administration de Pod, (https://VOTRE_SERVEUR/admin/main/configuration/), vous trouverez :
- Le champ "maintenance_text_sheduled" vous permet de définir un message de maintenance personnalisé.
- Le champ "maintenance_sheduled" vous permet d'afficher/masquer (=1 / 0) ce message sur Pod.
Le jour J
Basculez en mode maintenance (maintenance_mode = 1), cela va désactiver certaines fonctionnalités, et afficher un bandeau "Maintenance en cours. Certaines fonctionnalités sont indisponibles".
Commandes générales de mise à jour
Via le makefile
pod@pod:~$ cd django_projects/podv3/
pod@pod:~/django_projects/podv3$ workon django_pod3
(django_pod3) pod@pod:~/django_projects/podv3$ make upgrade
(django_pod3) pod@pod:~/django_projects/podv3$ sudo systemctl restart uwsgi-pod
Via les commandes
pod@pod:~$ cd django_projects/podv3/
pod@pod:~/django_projects/podv3$ workon django_pod3
(django_pod3) pod@pod:~/django_projects/podv3$ git status
(django_pod3) pod@pod:~/django_projects/podv3$ git pull origin master
(django_pod3) pod@pod:~/django_projects/podv3$ pip3 install -r requirements.txt
(django_pod3) pod@pod:~/django_projects/podv3$ python manage.py makemigrations
(django_pod3) pod@pod:~/django_projects/podv3$ python manage.py migrate
# mise à jour des composants js/css via yarn
(django_pod3) pod@pod:~/django_projects/podv3$ cd pod; yarn upgrade; cd ..
# Attention : avant de lancer collectstatic --clear, assurez-vous d'avoir sauvegardé le dossier static/custom si vous y avez mis des fichiers personnalisés.
(django_pod3) pod@pod:~/django_projects/podv3$ python manage.py collectstatic --no-input --clear
(django_pod3) pod@pod:~/django_projects/podv3$ sudo systemctl restart uwsgi-pod
Mise à jour des paramètres
Après avoir fait une mise à jour d'Esup-Pod, la commande ci-dessous permet de connaitre les nouveaux paramètres par rapport à une version précédente :
python manage.py compareconfiguration *VERSION_PRECEDENTE*
par exemple, la commande
python manage.py compareconfiguration 3.1.1
va lister tous les paramètres nouveaux (et ceux plus utilisés) depuis la 3.1.1 jusque la version actuelle.
Base de données
Si vous mettez à jour depuis une version anterieure à Pod version 3.3.1 et que vous êtes sous MySQL ou MariaDB, il faut installer le timezone dans le moteur SQL (à faire en tant que root mysql !)
|
Serveur d'encodage
Attention à bien faire la mise à jour sur vos serveurs d'encodages !
pod@pod-encodage:~$ cd django_projects/podv3/
pod@pod-encodage:~/django_projects/podv3$ workon django_pod3
(django_pod3) pod@pod-encodage:~/django_projects/podv3$ git status
(django_pod3) pod@pod-encodage:~/django_projects/podv3$ git pull origin master
(django_pod3) pod@pod-encodage:~/django_projects/podv3$ pip3 install -r requirements.txt
(django_pod3) pod@pod-encodage:~/django_projects/podv3$ sudo /etc/init.d/celeryd restart
Optionnel - Mise à jour d'Opencast Studio
Pour mettre à jour le studio d'Opencast dans votre instance de Esup-Pod, voici les étapes à suivre :
- Rendez-vous dans le dossier opencast-studio/
Récupérer la dernière version d'Opencast Studio via la commande suivante :
# Choisir un tag récent car la branche master est sur la version 2.0 qui est un redesign complet # la liste des tags: https://github.com/elan-ev/opencast-studio/tags git checkout tags/2023-09-14 git pull
Régénérez l'Opencast Studio avec la bonne configuration pour Pod via les commandes suivantes :
exportPUBLIC_URL=/studionpminstallnpm run buildLe répertoire build est alors mis à jour. Renommez-le en studio, puis copier le dans le répertoire pod/custom/static/opencast/
mkdir-p pod/custom/static/opencast/studiocp-r build/* pod/custom/static/opencast/studio
Finalement, n'oubliez pas de collecter vos fichiers statiques pour la mise en production via la commande :
(django_pod) [userpod@video][/data/www/userpod/django_projects/podv2] python manage.py collectstatic