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:test [2020/10/08 19:06] – [Automatisation du test] tollivetechnique:docker:picasoft:test [2022/09/23 10:16] (Version actuelle) – modification externe 127.0.0.1
Ligne 1: Ligne 1:
 {{indexmenu_n>40}} {{indexmenu_n>40}}
 # Tester une modification sur un service # Tester une modification sur un service
 +
 +<bootnote warning>
 +Prérequis : les articles de [[technique:docker:general:start|cette section]].
 +</bootnote>
  
 ## Préambule ## Préambule
Ligne 8: Ligne 12:
 <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 le dépôt est à jour (`git pull`),+   * 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).
    * Que vous vous trouvez dans le sous-dossier du servir concerné.    * Que vous vous trouvez dans le sous-dossier du servir concerné.
Ligne 15: Ligne 19:
  
 <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> 
-``` 
- 
-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. En suite go vers l'étape [[technique:docker:picasoft:test#revenir_a_l_etat_initial|Revenir à l'état initial]] 
  
 ## Tester manuellement ## 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 : 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 ### Remise à zéro
Ligne 113: Ligne 104:
 ## Revenir à l'état initial ## Revenir à l'état initial
  
-On se resynchronise avec l'état du dépôt en enlevant toutes les modifications induites par les tests. +On enlève toutes les modifications induites par les tests, notamment le remplacement des URLEnsuite, si on avait fait les modifications directement sur la machine de test, on peut commit et push.
-```bash +
-git reset --hard +
-# Si on était sur une autre branche +
-git checkout master +
-```+
  
 ## Que faire après les tests ? ## Que faire après les tests ?
  
 Si on a construit une nouvelle image, il faut aussi pousser la nouvelle version de l'image sur le [[technique:docker:general:mise_en_place_d_un_registry_docker|registre de production]]. Pour ce faire, il suffit de lancer : Si on a construit une nouvelle image, il faut aussi pousser la nouvelle version de l'image sur le [[technique:docker:general:mise_en_place_d_un_registry_docker|registre de production]]. Pour ce faire, il suffit de lancer :
 +
 +<bootnote>Cette commande est à lancer depuis le sous-dossier du service concerné.</bootnote>
  
 ```bash ```bash
Ligne 128: Ligne 116:
 ``` ```
  
-<bootnote warning>Attention, cette opération nécessite d'être connecté au registre de production. Les identifiants se trouvent dans le [pass](https://gitlab.utc.fr/picasoft/interne/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`) :
  • technique/docker/picasoft/test.1602176815.txt.gz
  • de tollive