GitLab - 5.27 Créer un pipeline Docker pas à pas

Cette leçon transforme les commandes Docker en pipeline GitLab. Le premier job construit l'image à partir du Dockerfile. Le second lance cette image en conteneur. Une fois le pipeline terminé, l'application répond depuis le navigateur de votre machine.

Le job de construction

Le job de construction commence par afficher la version de Docker. Cette étape est facultative, mais elle permet de vérifier que Docker est disponible. Le job construit ensuite l'image avec la commande docker build.

L'option -t donne un nom à l'image. Le point final indique le dossier courant, où se trouve le Dockerfile. Comme le runner est local, les balises indiquent à GitLab de choisir ce runner plutôt qu'un runner partagé.

build:
  tags:
    - local
    - shell
  script:
    - docker --version
    - docker build -t <nom-de-l-image> .

Le job de déploiement

Le second job lance l'image en conteneur. L'option -d exécute le conteneur en arrière-plan, et l'option --name lui donne un nom. L'option -p relie un port de la machine à un port du conteneur.

La vidéo expose le port de l'application sur le port 80 de la machine. Le job de déploiement utilise les mêmes balises que le premier, car il s'exécute sur le même runner local.

deploy:
  tags:
    - local
    - shell
  script:
    - docker run -d --name <nom-du-conteneur> -p 80:<port-de-l-application> <nom-de-l-image>

En résumé

Le pipeline compte deux jobs : la construction de l'image, puis son lancement en conteneur. La construction s'exécute en premier. Le test final se fait dans le navigateur, sur le port 80 de votre machine.

Points clés

  • docker build -t donne un nom à l'image à partir du Dockerfile.
  • Le point final désigne le dossier courant comme emplacement du Dockerfile.
  • docker run -d lance le conteneur en arrière-plan.
  • L'option -p redirige un port de la machine vers le conteneur.
  • Les balises du job doivent correspondre au runner local.

Questions fréquentes

Pourquoi afficher la version de Docker ?

Cette étape est facultative. Elle permet de vérifier que Docker est disponible sur le runner avant de construire l'image.

Pourquoi l'application est-elle visible dans le navigateur ?

L'option -p expose le port du conteneur sur la machine. Le navigateur se connecte alors au port 80 de la machine.

Pourquoi le déploiement utilise-t-il les mêmes balises ?

Le job de déploiement doit tourner sur le même runner local, qui possède l'image construite par le premier job.