services:mattermost_upgrade

Mise à jour de Mattermost

Mattermost est le logiciel libre sur lequel se base Picasoft pour https://team.picasoft.net. Le logiciel est maintenu par la société Mattermost Inc. sur Github qui propose, entre autre, des images Docker. Cette documentation présente le processus pour mettre à jour les images utilisées par Picasoft, ainsi que le service en production.

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).

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 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.

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# 

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 :

[...]

  app:
    build:
      context: app
      # comment out 2 following lines for team edition
      args:
        - edition=team

[...]

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

  • services/mattermost_upgrade.1508444443.txt.gz
  • (modification externe)