Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
technique:docker:picasoft:update [2020/10/08 19:02] – ajout warning tollivetechnique:docker:picasoft:update [2022/05/24 20:15] (Version actuelle) ppom
Ligne 1: Ligne 1:
 {{indexmenu_n>35}} {{indexmenu_n>35}}
 # Mettre à jour un service ou sa configuration # Mettre à jour un service ou sa configuration
 +
 +<bootnote warning>
 +Prérequis : les articles de [[technique:docker:general:start|cette section]].
 +</bootnote>
  
 <bootnote>Ces explications ne valent que pour un service qui est déjà en production et que l'on souhaite mettre à jour.</bootnote>  <bootnote>Ces explications ne valent que pour un service qui est déjà en production et que l'on souhaite mettre à jour.</bootnote> 
  
-Tous les fichiers permettant de paramétrer les conteneurs Docker et les services sont versionnés sur le dépôt [dockerfiles](https://gitlab.utc.fr/picasoft/dockerfiles) (voir [[technique:docker:picasoft:dockerfiles|gestion des services]]).+Tous les fichiers permettant de paramétrer les conteneurs Docker d'un service sont versionnés sur son dépôt[ici(https://gitlab.utc.fr/picasoft/projets/services) (voir [[technique:docker:picasoft:dockerfiles|gestion des services]]).
  
 On peut vouloir mettre à jour : On peut vouloir mettre à jour :
Ligne 29: Ligne 33:
 On appelle **configuration** tout ce qui ne nécessite pas de reconstruire l'image Docker, par exemple : On appelle **configuration** tout ce qui ne nécessite pas de reconstruire l'image Docker, par exemple :
  
-* Modification du `docker-compose.yml` (environnement, point de montage, changement du tag d'une image officielle...). Par exemple, Wekan est mis à jour uniquement en changeant le [numéro de version dans le fichier Compose](https://gitlab.utc.fr/picasoft/projets/dockerfiles/-/blob/master/pica-wekan/docker-compose.yml), car il utilise une image déjà construite. +* Modification du `docker-compose.yml` (environnement, point de montage, changement du tag d'une image officielle...). Par exemple, Wekan est mis à jour uniquement en changeant le [numéro de version dans le fichier Compose](https://gitlab.utc.fr/picasoft/projets/services/wekan/-/blob/master/docker-compose.yml), car il utilise une image déjà construite. 
-* Modification d'un fichier de configuration monté dans le conteneur. Par exemple, Etherpad utilise un fichier [settings.json](https://gitlab.utc.fr/picasoft/projets/dockerfiles/-/blob/master/pica-etherpad/settings.json) qui est monté dans l'image à chaque démarrage.+* Modification d'un fichier de configuration monté dans le conteneur. Par exemple, Etherpad utilise un fichier [settings.json](https://gitlab.utc.fr/picasoft/projets/services/etherpad-yearly/-/blob/master/settings.json) qui est monté dans l'image à chaque démarrage.
 * etc. * etc.
  
Ligne 43: Ligne 47:
 Certaines modifications nécessitent de reconstruire l'image, par exemple : Certaines modifications nécessitent de reconstruire l'image, par exemple :
  
-* Changement d'un numéro de version dans une archive téléchargée dans le `Dockerfile`. Par exemple, Mattermost indique le numéro de version de la *release* à téléchargement [directement dans le Dockerfile](https://gitlab.utc.fr/picasoft/projets/dockerfiles/-/blob/master/pica-mattermost/Dockerfile). +* Changement d'un numéro de version dans une archive téléchargée dans le `Dockerfile`. Par exemple, Mattermost indique le numéro de version de la *release* à téléchargement [directement dans le Dockerfile](https://gitlab.utc.fr/picasoft/projets/services/mattermost/-/blob/master/Dockerfile). 
-* Ajout d'un paquet. Par exemple, on pourrait avoir besoin de rajouter un module PHP pour une nouvelle extension [directement dans le Dockerfile](https://gitlab.utc.fr/picasoft/projets/dockerfiles/-/blob/master/pica-dokuwiki/Dockerfile). +* Ajout d'un paquet. Par exemple, on pourrait avoir besoin de rajouter un module PHP pour une nouvelle extension [directement dans le Dockerfile](https://gitlab.utc.fr/picasoft/projets/services/dokuwiki/-/blob/master/Dockerfile). 
-* Changement d'un script d'initialisation copié dans le Dockerfile. Par exemple, le [script d'initialisation de Plume](https://gitlab.utc.fr/picasoft/projets/dockerfiles/-/blob/master/pica-plume/entrypoint.sh) effectue diverses opérations que l'on pourrait vouloir compléter, et ce script est copié [directement dans le Dockerfile](https://gitlab.utc.fr/picasoft/projets/dockerfiles/-/blob/master/pica-plume/Dockerfile).+* Changement d'un script d'initialisation copié dans le Dockerfile. Par exemple, le [script d'initialisation de Plume](hhttps://gitlab.utc.fr/picasoft/projets/services/plume/-/blob/master/entrypoint.sh) effectue diverses opérations que l'on pourrait vouloir compléter, et ce script est copié [directement dans le Dockerfile](https://gitlab.utc.fr/picasoft/projets/services/plume/-/blob/master/Dockerfile).
 * etc. * etc.
- 
-<bootnote warning>Si le code du service à copier dans l'image est intégré au dépôt par un submodule (par exemple avec [pica-metrics-bot](https://gitlab.utc.fr/picasoft/projets/dockerfiles/-/tree/master/pica-metrics-bot)), on lancera la commande suivante pour le mettre à jour à la dernière version. Voir la documentation des submodules pour utiliser un tag ou une branche spécifique. 
-``` 
-git submodule update --recursive --remote <dossier du service> 
-``` 
-</bootnote> 
  
 Vous pouvez travailler en local et tester l'image sur votre machine si vous voulez. Il y a quelques modifications supplémentaires à apporter. Comme on construit une nouvelle version de l'image, il faut modifier le tag dans le fichier Compose pour que l'image construite soit différenciée des précédentes. Vous pouvez travailler en local et tester l'image sur votre machine si vous voulez. Il y a quelques modifications supplémentaires à apporter. Comme on construit une nouvelle version de l'image, il faut modifier le tag dans le fichier Compose pour que l'image construite soit différenciée des précédentes.
Ligne 60: Ligne 58:
  
 Dans tous les cas, on modifiera ou on créera le fichier `CHANGELOG.md` pour décrire les modifications apportées à l'image. Dans tous les cas, on modifiera ou on créera le fichier `CHANGELOG.md` pour décrire les modifications apportées à l'image.
 +## Que faire ensuite ?
  
-## Conclusion +Une fois arrivé à ce stade, votre nouvelle version du service est prête à être déployée depuis n'importe quelle machine de Picasoft. La prochaine étape est [[technique:docker:picasoft:test|de tester la modification]] que vous avez apportée, sauf si elle est vraiment minime (exemple : changement marginal d'un paramètre de configuration).
- +
-Une fois arrivé à ce stade, votre nouvelle version du service est prête à être déployée depuis n'importe quelle machine de Picasoft. La prochaine étape est de tester la modification que vous avez apportée, sauf si elle est vraiment minime (exemple : changement marginal d'un paramètre de configuration).+
  • technique/docker/picasoft/update.1602176530.txt.gz
  • de tollive