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édente | ||
technique:docker:picasoft:test [2020/10/12 11:46] – qduchemi | technique:docker:picasoft:test [2022/09/23 10:16] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{indexmenu_n> | ||
+ | # Tester une modification sur un service | ||
+ | < | ||
+ | Prérequis : les articles de [[technique: | ||
+ | </ | ||
+ | |||
+ | ## Préambule | ||
+ | |||
+ | Avant de mettre en production un service, il faut s' | ||
+ | |||
+ | < | ||
+ | * Vous êtes connecté à la machine de test (`pica01-test.picasoft.net`), | ||
+ | * Vous vous trouvez dans le clone du bon dépôt (voir [[technique: | ||
+ | * Que les modifications à tester sont " | ||
+ | * Que vous êtes que votre branche de travail (ou `master` si vous n'en avez pas créée). | ||
+ | * Que vous vous trouvez dans le sous-dossier du servir concerné. | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | |||
+ | ## Tester manuellement | ||
+ | |||
+ | Si vous voulez tester le service "à la main", ou que le script ne fonctionne pas pour vous, ou pour toute autre raison, suivez ces étapes : | ||
+ | On suppose que le fichier Compose est déjà à jour (modifié sur la machine ou récupéré via un `git pull`). | ||
+ | |||
+ | ### Remise à zéro | ||
+ | |||
+ | Si le service était déjà lancé sur la machine de test, éteignez-le et remettez les volumes à 0 : | ||
+ | |||
+ | ```bash | ||
+ | docker-compose down -v | ||
+ | ``` | ||
+ | |||
+ | Si des volumes sont déclarés comme `external` dans le fichier Compose, supprimez-les manuellement : | ||
+ | |||
+ | ```bash | ||
+ | docker volume rm < | ||
+ | ``` | ||
+ | |||
+ | ### Construction des images | ||
+ | |||
+ | Si le service utilise des images " | ||
+ | |||
+ | ```bash | ||
+ | docker-compose build | ||
+ | ``` | ||
+ | |||
+ | Sinon, il faut construire les images à la main. À répéter pour chaque image maison du service concerné : | ||
+ | |||
+ | ```bash | ||
+ | docker build [-f < | ||
+ | ``` | ||
+ | |||
+ | * Si le `Dockerfile` a un nom différent, on utilise le switch `-f`. | ||
+ | * `< | ||
+ | * `< | ||
+ | |||
+ | ### Remplacement des URLs | ||
+ | |||
+ | Si nécessaire. Certains services ne sont pas accessibles depuis Internet. | ||
+ | |||
+ | Remplacez les URL de production (`.picasoft.net`) par des URL de tests (`.test.picasoft.net`), | ||
+ | |||
+ | * Si le service utilise Traefik, voir du côté de `traefik.http.services.< | ||
+ | * Si le service utilise des fichiers de configuration, | ||
+ | |||
+ | ### Créer les fichiers de secrets | ||
+ | |||
+ | Dans le dossier `secrets`, copier tous les `.secrets.example` en `.secrets`. S' | ||
+ | |||
+ | ### Récupérer les nouvelles images | ||
+ | |||
+ | Si le service utilise des images officielles, | ||
+ | |||
+ | ```bash | ||
+ | docker-compose pull | ||
+ | ``` | ||
+ | |||
+ | ### Lancer le service | ||
+ | |||
+ | ```bash | ||
+ | docker-compose up -d | ||
+ | ``` | ||
+ | |||
+ | ### Vérifier que tout fonctionne bien | ||
+ | |||
+ | ```bash | ||
+ | docker-compose logs -f | ||
+ | ``` | ||
+ | |||
+ | On constate l' | ||
+ | |||
+ | ## En cas de problème | ||
+ | |||
+ | Que les étapes de test aient été faites automatiquement ou manuellement, | ||
+ | |||
+ | À partir de là, c'est carte blanche : on peut modifier la configuration, | ||
+ | |||
+ | Si jamais les modifications ont permis de résoudre le problème, on les commit et on les synchronise avec le dépôt. | ||
+ | |||
+ | < | ||
+ | |||
+ | ## Revenir à l' | ||
+ | |||
+ | On enlève toutes les modifications induites par les tests, notamment le remplacement des URL. Ensuite, si on avait fait les modifications directement sur la machine de test, on peut commit et push. | ||
+ | |||
+ | ## Que faire après les tests ? | ||
+ | |||
+ | Si on a construit une nouvelle image, il faut aussi pousser la nouvelle version de l' | ||
+ | |||
+ | < | ||
+ | |||
+ | ```bash | ||
+ | $ docker-compose push | ||
+ | ``` | ||
+ | |||
+ | < | ||
+ | |||
+ | On peut aussi le faire manuellement, | ||
+ | |||
+ | ```bash | ||
+ | # < | ||
+ | # à la directive image du fichier Compose | ||
+ | # et commencer par registry.picasoft.net | ||
+ | docker push < | ||
+ | ``` | ||
+ | |||
+ | Une fois les images poussées, on peut se rendre sur la machine de production et lancer le service (voir [[technique: |