Conteneurisation Docker | CodeFirst Allez directement au contenu

Conteneurisation Docker

Comment construire votre propre Dockerfile

Définition du job template

.build-and-push-docker-image script situé dans le fichier build/.docker-build.yml du projet IUT_INF63/generic-ci.

Job template utilisée pour construire une image docker à partir d'un Dockerfile existant et pousser l'image construite vers le registre GitLab CodeFirst.

Liste des variables du script :

Nom de la variable Requis Valeur par défaut Description
DOCKERFILE_RELATIVE_PATH OUI Emplacement du Dockerfile depuis la racine de votre projet
DOCKERFILE_CONTEXT_PATH OUI Chemin du contexte de construction Docker depuis la racine de votre projet
DESTINATION_REGISTRY_IMAGE_NAME NON $CI_REGISTRY_IMAGE Chemin du registre où votre image sera poussée (par exemple registry.com/mon-projet)
DESTINATION_REGISTRY_IMAGE_VERSION NON $CI_COMMIT_REF_SLUG Version du registre de l'image qui sera poussée
DESTINATION_REGISTRY_PATH NON $CI_REGISTRY URL du registre où l'image sera poussée (utilisée pour l'authentification, par exemple registry.com)
DESTINATION_REGISTRY_USER NON $CI_REGISTRY_USER Nom d'utilisateur du registre (utilisé pour l'authentification)
DESTINATION_REGISTRY_PASSWORD NON $CI_REGISTRY_PASSWORD Mot de passe de l'utilisateur du registre (utilisé pour l'authentification)

Exemple

stages:
- 📦push # Définissez au moins une étape qui correspond au stage de votre job
include:
- project: 'IUT_INF63/generic-ci' # Référence au projet gitlab contenant les scripts ci génériques
ref: 'main' # Référence à la branche du projet ci générique gitlab
file:
- 'build/.docker-build.yml' # Nom du fichier à inclure
# Ensuite dans votre .gitlab-ci.yml vous pouvez étendre cette job générique pour construire votre dockerfile en image docker
push-dotnet-image:
extends: .build-and-push-docker-image # Étendre le job générique
stage: 📦push
variables: # Remplissez les variables dans cette section (veuillez vous référer à la documentation ci-dessous pour la liste complète)
DOCKERFILE_RELATIVE_PATH: TODO # Emplacement du Dockerfile
DOCKERFILE_CONTEXT_PATH: TODO # Chemin du contexte de construction Docker
DESTINATION_REGISTRY_IMAGE_NAME: TODO # Ici mettez l'adresse du conteneur quand il sera stocké dans le registre
DESTINATION_REGISTRY_IMAGE_VERSION: TODO # Ici mettez le nom que vous voulez donner à sa version
allow_failure: true # Autoriser les échecs globalement sur le pipeline (si désactivé vous pourriez ne pas pouvoir déclencher votre job à la création du pipeline si d'autres étapes sont classées avant)
rules:
- when: manual # Vous permet de déclencher votre construction manuellement en utilisant le bouton sur l'interface Gitlab

Exemple de job générée

pipeline