GitLab Runner: Pousser vers le registre de conteneurs GitLab
Cette documentation fait partie du guide Création d’images Docker. Consultez le guide complet ici : Construisez et poussez des images Docker à partir de vos pipelines GitLab CI/CD en utilisant votre runner Stackhero et Docker-in-Docker.
👋 Bienvenue dans la documentation Stackhero !
Stackhero vous offre une solution GitLab Runner cloud facile à utiliser, conçue pour gérer efficacement vos jobs GitLab CI/CD. Voici ce à quoi vous pouvez vous attendre :
- Minutes CI/CD illimitées : aucune facturation à la minute, vos pipelines s’exécutent dès que vous en avez besoin.
- Plusieurs jobs simultanés : exécutez plusieurs jobs en même temps pour accélérer l’ensemble de votre pipeline.
- Docker executor avec prise en charge de Docker-in-Docker : simplifiez la création et le push de vos images de conteneurs.
- Compatible avec GitLab.com ainsi qu’avec toute instance GitLab autogérée.
- Une VM privée et dédiée propulsée par des disques NVMe/SSD rapides pour des builds fiables et constants.
- Disponible dans les régions 🇪🇺 Europe et 🇺🇸 USA.
Gagnez du temps : connectez votre premier GitLab Runner et commencez à exécuter vos pipelines en quelques minutes seulement !
GitLab fournit plusieurs variables prédéfinies (CI_REGISTRY, CI_REGISTRY_USER, CI_REGISTRY_PASSWORD, CI_REGISTRY_IMAGE) pour que votre pipeline puisse se connecter et pousser des images vers le registre de conteneurs du projet sans avoir besoin d’autres secrets.
Voici un exemple de job qui construit et pousse votre image :
build-and-push:
stage: build
image: docker:27
services:
- docker:27-dind
variables:
DOCKER_TLS_CERTDIR: "/certs"
before_script:
- docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" "$CI_REGISTRY"
script:
- docker build -t "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" .
- docker push "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA"
# Si vous êtes sur la branche par défaut, vous pouvez aussi taguer et pousser "latest" :
- |
if [ "$CI_COMMIT_BRANCH" = "$CI_DEFAULT_BRANCH" ]; then
docker tag "$CI_REGISTRY_IMAGE:$CI_COMMIT_SHORT_SHA" "$CI_REGISTRY_IMAGE:latest"
docker push "$CI_REGISTRY_IMAGE:latest"
fi
Si vous souhaitez pousser vos images vers un autre registre (comme Docker Hub ou un registre privé), vous pouvez stocker ces identifiants comme variables CI/CD et les utiliser avec docker login de la même façon.