GitLab - 7.20 Utiliser une image Docker Node.js dans un pipeline
Par défaut, GitLab exécute les jobs dans une image Ruby. Pour une application Node.js, il faut alors installer Node et npm à chaque exécution. Cette leçon montre comment utiliser une image Docker qui contient déjà ces outils.
Le surcoût de l'installation
Avec l'image par défaut, Node et npm ne sont pas installés. Le pipeline doit donc les installer, ce qui ajoute du temps à chaque exécution.
Une image déjà préparée permet de se concentrer sur l'application, et non sur son environnement.
Indiquer une image à un job
Pour un job précis, ajoutez la clé image avec le nom de l'image, ici node. Le job de déploiement doit recevoir la même image, car il utilise le même environnement.
Une fois les installations retirées du pipeline, le job de construction démarre avec l'image node.
La vidéo précise que les deux jobs, construction et déploiement, ont besoin du même environnement. Ils peuvent donc partager la même image.
build:
image: node
Configuration globale et Docker Hub
Si tous les jobs utilisent la même image, définissez-la au niveau global du pipeline, au lieu de la répéter dans chaque job.
Docker Hub propose des images officielles, par exemple pour Python ou Node. Si aucune image ne convient, vous pouvez créer la vôtre.
La vidéo ajoute une leçon bonus pour les débutants, qui présente les bases de Docker et le fonctionnement des images.
image: node
En résumé
Une image Docker adaptée évite d'installer les outils à chaque job. Indiquez-la avec la clé image, pour un job ou pour tout le pipeline. Docker Hub propose de nombreuses images officielles.
Points clés
- L'image par défaut de GitLab est une image Ruby.
- Une image Node évite d'installer Node et npm à chaque job.
- La clé image se place dans le job concerné.
- Une image définie au niveau global s'applique à tous les jobs.
- Docker Hub propose des images officielles, par exemple pour Python.
Questions fréquentes
Dois-je utiliser une image officielle ?
La vidéo conseille de choisir une image qui contient les outils nécessaires. Docker Hub propose des images officielles et d'autres créées par des contributeurs.
Que faire si aucune image ne convient ?
Vous pouvez créer votre propre image Docker, qui contient les outils dont votre projet a besoin.
Où écrire l'image commune à tous les jobs ?
Au niveau global du fichier de pipeline, pour qu'elle s'applique à tous les jobs.