Docker

Description

Ce template ajoute :

  • une variable WITH_DOCKER_JOBS : (valeur par défaut: true) Indique si on veut importer également les jobs ou uniquement la fonction .docker-build
  • une fonction .docker-build : permet de créer une image docker et de la déposer dans votre registre.
  • un job docker:build:latest : se lance automatiquement sur la branche par défaut. Build l'image avec le tag "latest"
  • un job docker:build:version : se lance automatiquement sur les branches qui ne sont pas la branche par défaut. Build l'image avec le tag déduit du nom de la branche

Utilisation

Directe

Ajouter le code suivant dans votre fichier .gitlab-ci.yml

include:
  - project: geoplateforme/templates
    ref: main
    file:
      - '/ci/docker.yml'

Uniquement la fonction .docker-build

Pour ne pas utiliser les jobs mais uniquement la fonction, ajouter la variable globale :

variables:
  WITH_DOCKER_JOBS: "false"

Pour créer son propre job à partir de la fonction :

monjob:
  extends: .docker-build
  variables:
    DOCKERFILE_NAME: # nom du fichier Dockerfile à utiliser (si non surchargée : Dockerfile)
    DOCKERFILE_DIR: # répertoire contenant le fichier Dockerfile (si non surchargée : .)
    DOCKER_IMG_NAME: # nom complet de l'image à utiliser (si non surchargée : $CI_REGISTRY_IMAGE)
    TAG_NAME: # tag à utiliser (si non surchargée : "latest")
    BUILD_ARGS: # argument de build docker au format : --build-arg arg1=value1 --build-arg argN=valueN
  ...