Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
services:mattermost_upgrade [2017/10/19 22:20] – kyane | services:mattermost_upgrade [2019/05/19 23:02] (Version actuelle) – supprimée chosty |
---|
====== Mise à jour de Mattermost ====== | |
[[https://about.mattermost.com/|Mattermost]] est le logiciel libre sur lequel se base Picasoft pour https://team.picasoft.net. Le logiciel est maintenu par la société [[https://github.com/mattermost|Mattermost Inc. sur Github]] qui propose, entre autre, [[https://github.com/mattermost/mattermost-docker|des images Docker]]. Cette documentation présente le processus pour mettre à jour les images utilisées par Picasoft, ainsi que le service en production. | |
| |
===== Images Docker ===== | |
Pour déployer Mattermost, Picasoft utilise 2 images Docker : une image pour l'application (que l'on appellera ''app'') et une image pour la base de données PostgreSQL (que l'on appellera ''db''). | |
| |
==== Récupération du code mis à jour ==== | |
Pour //builder// et pousser les images, on utilise la VM d'admin de Picasoft. Les //Dockerfiles// se trouvent dans le dossier ''/DATA/docker/Dockerfiles'', qui est un //repository// Git. Le sous-dossier ''mattermost'', qui nous intéressera ici, est lui aussi un //repository// Git qui pointe sur [[https://github.com/mattermost/mattermost-docker|l'upstream maintenue par Mattermost]]. \\ | |
On se place dans le dossier et on //pull// pour mettre à jour le //repository// Git. Si la copie locale est modifié et que le //pull// ne se fait pas automatiquer, il est possible de retirer les modifications locales pour repartir d'une base propre. | |
<code> | |
root@admin:~# cd /DATA/docker/Dockerfiles/mattermost | |
root@admin:/DATA/docker/Dockerfiles/mattermost# git pull origin master | |
Depuis https://github.com/mattermost/mattermost-docker | |
* branch master -> FETCH_HEAD | |
Déjà à jour. | |
root@admin:/DATA/docker/Dockerfiles/mattermost# | |
</code> | |
| |
Il faut ensuite vérifier que le fichier ''docker-compose.yml'' du //repository// est bien modifié pour permettre de //builder// la version libre de Mattermost. Normalement, les lignes suivantes ne doivent pas être commentées : | |
<code> | |
[...] | |
| |
app: | |
build: | |
context: app | |
# comment out 2 following lines for team edition | |
args: | |
- edition=team | |
| |
[...] | |
</code> | |
ENV MM_VERSION=4.3.0 | |
| |
Pour finir, on vérifie que le //repository// va bien //builder// la version que l'on souhaite de Mattermost. On peux vérifier avec la commande ''cat app/Dockerfile | grep "ENV MM_VERSION"''. Si ce n'est pas la dernière version, alors il faut ouvrir une PR sur l'upstream pour demander la mise à jour. | |
| |
| |
puis on //build// les images avec ''docker-compose | |
| |
| |
| |