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 dockerpush-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 GitlabExemple de job générée
