Tout d’abord, consultez régulièrement la page des releases sur GitHub pour vous tenir informé des nouvelles versions de l’application. Vous pouvez vous abonner à ce flux atom pour être notifié à chaque nouvelle version.
Lorsqu’une nouvelle version est disponible, voici comment faire une mise à jour sur un serveur de production avec docker-compose:
# on se place dans le dossier de l'application
cd fabmanager
# on commence par récupérer la dernière version de l'image docker
docker-compose pull
# puis on arrête l'instance
docker-compose down
# on supprime les assets obsolètes
sudo rm -Rf public/assets/
# on recompile les nouveaux assets
docker-compose run --rm fabmanager bundle exec rake assets:precompile
A ce moment, on n’oublie pas d’exécuter les commandes de mise à niveau spécifiées dans le
journal des changements et préfixées par [TODO DEPLOY].
Ces commandes sont également précisées sur la page des releases.
Ce sont des actions de mise à niveau spécifiques qui ne peuvent pas être automatisées et doivent donc être exécutées manuellement.
# les différentes commandes doivent être préfixées par les instructions suivantes
docker-compose run --rm fabmanager bundle exec
# par exemple :
docker-compose run --rm fabmanager bundle exec rake db:migrate
# enfin on relance les containers
docker-compose up -d
# on vérifie que tout tourne correctement
docker ps
Est-il possible de mettre à niveau plusieurs versions d’un coup ?
Par exemple, je suis à la version 2.4.0, je souhaite mettre à niveau directement vers la version 2.4.9 sans devoir faire d’abord la mise à niveau version la 2.4.1, puis la 2.4.2, etc.
Il est tout à fait possible de mettre à niveau directement vers la dernière version, cela est particulièrement simple avec docker-compose. Toutefois ATTENTION : Il ne faut pas oublier de lancer toutes les commandes manuelles de mise à niveau (les fameuses [TODO DEPLOY]) pour toutes les versions intermédiaires et ce, de manière séquentielle dans l’ordre des versions.