Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédenteDernière révisionLes deux révisions suivantes | ||
services:mattermost_upgrade [2018/06/21 22:22] – kyane | services:mattermost_upgrade [2019/05/17 21:55] – [Build et tag des images] huetremy | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== | + | ====== |
- | [[https:// | + | |
===== Images Docker ===== | ===== Images Docker ===== | ||
Ligne 10: | Ligne 9: | ||
Il faut ensuite modifier fichier '' | Il faut ensuite modifier fichier '' | ||
- | < | + | < |
[...] | [...] | ||
Ligne 27: | Ligne 26: | ||
==== Build et tag des images ==== | ==== Build et tag des images ==== | ||
Lorsque le dossier est prêt, on //build// très simplement les images à l'aide de '' | Lorsque le dossier est prêt, on //build// très simplement les images à l'aide de '' | ||
- | < | + | < |
docker-compose build | docker-compose build | ||
</ | </ | ||
- | Le //build// peut durer un certain temps, une fois terminé on obtient trois images : '' | + | Le //build// peut durer un certain temps, une fois terminé on obtient trois images : `mattermost_app`, '' |
- | < | + | < |
kyane@laptop: | kyane@laptop: | ||
REPOSITORY | REPOSITORY | ||
Ligne 40: | Ligne 39: | ||
On ignore l' | On ignore l' | ||
- | On va maintenant ajouter des //tags// à nos images '' | + | On va maintenant ajouter des //tags// à nos images '' |
- | Par exemple, si nous venons de //builder// la version '' | + | < |
- | < | + | |
# Tag de l' | # Tag de l' | ||
docker tag mattermost_app registry.picasoft.net: | docker tag mattermost_app registry.picasoft.net: | ||
Ligne 57: | Ligne 55: | ||
Nos images sont prêtes et à jour dans le // | Nos images sont prêtes et à jour dans le // | ||
- | < | + | < |
docker rmi mattermost_app | docker rmi mattermost_app | ||
docker rmi mattermost_db | docker rmi mattermost_db | ||
Ligne 71: | Ligne 69: | ||
* que l'on a une backup récente de la base de données. C'est normalement le cas puisqu' | * que l'on a une backup récente de la base de données. C'est normalement le cas puisqu' | ||
* que Mattermost n'est pas trop utilisé. On ne fais pas un déploiement à 19H, la coupure va déranger tout le monde; | * que Mattermost n'est pas trop utilisé. On ne fais pas un déploiement à 19H, la coupure va déranger tout le monde; | ||
- | * que les autres bénévoles sont au courant de la mise à jour. Même si la coupure de service est courte, un.e sysadmin qui voit que le service est tombé va s' | + | * que les autres bénévoles sont au courant de la mise à jour. Même si la coupure de service est courte, un⋅e sysadmin qui voit que le service est tombé va s' |
- | Bref on ne se lance que lorsque l'on est prêt. Pour commencer il faut modifier les images Docker qui sont utilisées par les conteneurs de Mattermost et de sa base de données. Cela se passe dans le fichier ''/ | + | Bref on ne se lance que lorsque l'on est prêt. Pour commencer il faut modifier les images Docker qui sont utilisées par les conteneurs de Mattermost et de sa base de données. Cela se passe dans le fichier ''/ |
+ | |||
+ | **Attention !! On utilise uniquement les images ayant pour //tag// le numéro d'une version. On utilise JAMAIS '' | ||
Lorsque c'est prêt, on //pull// les nouvelles images Docker sur la machine. On n'est pas obligé de le faire manuellement, | Lorsque c'est prêt, on //pull// les nouvelles images Docker sur la machine. On n'est pas obligé de le faire manuellement, | ||
- | < | + | < |
docker pull registry.picasoft.net: | docker pull registry.picasoft.net: | ||
docker pull registry.picasoft.net: | docker pull registry.picasoft.net: | ||
</ | </ | ||
- | ==== Mise à jour ==== | + | ==== Bascule en production |
- | Lorsque tout est bien prêt et que l'on a prévu les collègues, on peut enfin opérer à la bascule sur la nouvelle version. En pratique, on va simplement couper les conteneurs de l' | + | Lorsque tout est bien prêt et que l'on a prévu les collègues, on peut enfin opérer à la bascule sur la nouvelle version. En pratique, on va simplement couper les conteneurs de l' |
Pour être sûr que tout se passe vite, sans typo ou autre problème, on peut faire tout ceci en une seule commande : | Pour être sûr que tout se passe vite, sans typo ou autre problème, on peut faire tout ceci en une seule commande : | ||
- | < | + | < |
cd / | cd / | ||
&& docker rm mattermost-app && docker rm mattermost-db \ | && docker rm mattermost-app && docker rm mattermost-db \ | ||
Ligne 105: | Ligne 106: | ||
**Attention avant toute opération de ce genre, veuillez effectuer une sauvegarde de la base de données** | **Attention avant toute opération de ce genre, veuillez effectuer une sauvegarde de la base de données** | ||
- | < | + | < |
root@pica01: | root@pica01: | ||
bash-4.3# psql -U postgres | bash-4.3# psql -U postgres |