Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
technique:docker:picasoft:test [2021/11/21 18:49] – qduchemi | technique:docker:picasoft:test [2022/09/23 10:16] (Version actuelle) – modification externe 127.0.0.1 |
---|
<bootnote>On suppose pour la suite que | <bootnote>On suppose pour la suite que |
* Vous êtes connecté à la machine de test (`pica01-test.picasoft.net`), | * Vous êtes connecté à la machine de test (`pica01-test.picasoft.net`), |
* Vous vous trouvez dans le clone du dépôt `dockerfiles` (voir [[technique:docker:picasoft:dockerfiles|gestion des services]]), | * Vous vous trouvez dans le clone du bon dépôt (voir [[technique:docker:picasoft:dockerfiles|gestion des services]]), |
* Que les modifications à tester sont "actives" (récupérées du dépôt ou faites directement sur la machine), | * Que les modifications à tester sont "actives" (récupérées du dépôt ou faites directement sur la machine), |
* Que vous êtes que votre branche de travail (ou `master` si vous n'en avez pas créée). | * Que vous êtes que votre branche de travail (ou `master` si vous n'en avez pas créée). |
| |
<bootnote warning>Si le service est accessible via Traefik et qu'un `HEALTHCHECK` est configuré sur le conteneur, tant qu'il n'est pas noté `healthy`, Traefik ne route pas vers le service. On vérifiera que le conteneur est noté `healthy` dans la sortie de `docker ps` avant de paniquer.</bootnote> | <bootnote warning>Si le service est accessible via Traefik et qu'un `HEALTHCHECK` est configuré sur le conteneur, tant qu'il n'est pas noté `healthy`, Traefik ne route pas vers le service. On vérifiera que le conteneur est noté `healthy` dans la sortie de `docker ps` avant de paniquer.</bootnote> |
| |
## Automatisation du test | |
| |
Le script `docker_test.sh`, situé à la racine du dépôt, permet d'automatiser toutes les étapes pour tester un service et s'assurer qu'il fonctionne bien indépendamment des données précédentes, qui auraient été conservées dans un volume, par exemple. Il permet aussi de remplacer toutes les URL de production par des URL de test. | |
| |
Il a le désavantage qu'on comprend moins ce que l'on fait. Pour s'en servir, lancez : | |
| |
```bash | |
$ ./docker_test.sh <nom du dossier, e.g. pica-mattermost> | |
``` | |
| |
<bootnote warning> | |
Attention, cette commande écrase les modifications faites au sous-dossier par l'état courant du dépôt Git. | |
</bootnote> | |
| |
Vérifiez que les logs ne produisent aucune erreur et que le service fonctionne bien sur l'infrastructure de test, en y accédant via son URL par exemple (attention : remplacer `picasoft.net` par `test.picasoft.net` dans votre navigateur). | |
| |
Si tout se passe bien, stoppez les logs avec `Ctrl+C` puis aller dans le dossier du service. Ensuite, passer à l'étape [[technique:docker:picasoft:test#en_cas_de_probleme|revenir à l'état initial]]. | |
| |
## Tester manuellement | ## Tester manuellement |
``` | ``` |
| |
<bootnote warning>Attention, cette opération nécessite d'être connecté au registre de production. Les identifiants se trouvent dans le [[technique:tips:password_store:start|pass]].</bootnote> | <bootnote warning>Attention, cette opération nécessite d'être connecté au registre de production. Les identifiants se trouvent dans le [[asso:tuto:vaultwarden|vaultwarden]].</bootnote> |
| |
On peut aussi le faire manuellement, pour chaque image maison (*i.e.* dont le nom commence par `registry.picasoft.net`) : | On peut aussi le faire manuellement, pour chaque image maison (*i.e.* dont le nom commence par `registry.picasoft.net`) : |