L'idée de créer les images à partir de Debian est de se rapprocher au plus près de la situation réelle pour l'administrateur système : il a un serveur sous Debian, il installe les modules python nécessaire grâce à apt et il exécute le script.
Pour être proche de cette situation, j'utilise les images de Debian, puis j'installe les dépendances via apt.
Mon but est aussi de s'assurer que tout se déroule correctement sans l'accès à pip, car, pour une production, je préfère ne pas utiliser un gestionnaire de dépendance externe à ma distribution.
Je n'utilise pas "before_script" aussi pour éviter de télécharger à nouveau les dépendances à chaque stage. Docker a l'avantage en plus de faire automatiquement un snapshot à chaque instruction et d'ainsi éviter de télécharger les dépendances entre plusieurs Merge Request :-)
Notez que gitlab sait aussi optimiser le téléchargement pour before_script si on lui dit de conserver le cache de pip/apt/npm/... Donc, Docker n'est pas nécessaire, mais j'en profite puisque je les construit de toute manière.
Enfin,l'unique test unitaire, n'est pas vraiment un test unitaire, car il n'y a aucun mock. C'est plutôt dans le sens "opposé aux autres tests qui nécessitent de se connecter au staging de Let's Encrypt". C'est pour ça que je l'exécute sur les 3 environnements.
[^] # Re: Docker et GitLab CI
Posté par Adrien Dorsaz (site web personnel, Mastodon) . En réponse au journal Publication d'acme-dns-tiny et du RFC 8555. Évalué à 5.
Hello,
L'idée de créer les images à partir de Debian est de se rapprocher au plus près de la situation réelle pour l'administrateur système : il a un serveur sous Debian, il installe les modules python nécessaire grâce à
aptet il exécute le script.Pour être proche de cette situation, j'utilise les images de Debian, puis j'installe les dépendances via
apt.Mon but est aussi de s'assurer que tout se déroule correctement sans l'accès à
pip, car, pour une production, je préfère ne pas utiliser un gestionnaire de dépendance externe à ma distribution.Je n'utilise pas "before_script" aussi pour éviter de télécharger à nouveau les dépendances à chaque stage. Docker a l'avantage en plus de faire automatiquement un snapshot à chaque instruction et d'ainsi éviter de télécharger les dépendances entre plusieurs Merge Request :-)
Notez que gitlab sait aussi optimiser le téléchargement pour before_script si on lui dit de conserver le cache de pip/apt/npm/... Donc, Docker n'est pas nécessaire, mais j'en profite puisque je les construit de toute manière.
Enfin,l'unique test unitaire, n'est pas vraiment un test unitaire, car il n'y a aucun mock. C'est plutôt dans le sens "opposé aux autres tests qui nécessitent de se connecter au staging de Let's Encrypt". C'est pour ça que je l'exécute sur les 3 environnements.