Aller au contenu principal

Migration Docker-in-Docker

info

Depuis le 17/06/2025, nous ne supportons plus le build d'image via Docker-in-Docker.

La documentation suivante explique comment migrer vers les deux solutions recommandées par adista :

remarque

Dans les exemples ci-dessous et à des fins d'illustration, nous utilisons les labels latest. Dans votre environnement de production, préférez des labels fixes.

Buildah

.gitlab-ci.yml
build-with-buildah:
stage: build
image: quay.io/buildah/stable:latest
before_script:
- echo "$CI_REGISTRY_PASSWORD" | buildah login --username "$CI_REGISTRY_USER" --password-stdin $CI_REGISTRY
script:
- buildah build --tag $CI_REGISTRY_IMAGE:latest .
- buildah push $CI_REGISTRY_IMAGE:latest
after_script:
- buildah logout $CI_REGISTRY

Pour en savoir plus : https://docs.gitlab.com/ci/docker/using_docker_build/#buildah-example

Kaniko

attention

Le projet Kaniko a été archivé par Google le 03/06/2025. Il est donc recommandé de ne plus l'utiliser ou d'utiliser un fork maintenu, tel que chainguard-dev/kaniko.

Les éléments suivants sont obligatoires :

  • Le label debug, car seule cette image contient un shell, qui est nécessaire pour l'utilisation avec la CI/CD GitLab.
  • L'entrypoint de l'image doit-être surchargé
.gitlab-ci.yml
build-with-kaniko:
stage: build
image:
name: gcr.io/kaniko-project/executor:debug
entrypoint: [""]
script:
- /kaniko/executor
--context "${CI_PROJECT_DIR}"
--dockerfile "${CI_PROJECT_DIR}/Dockerfile"
--destination "${CI_REGISTRY_IMAGE}:latest"
--cache=true
--cache-repo="${CI_REGISTRY_IMAGE}"

Pour en savoir plus : https://docs.gitlab.com/ci/docker/using_kaniko/