GitLab Runner: Pousser vers le registre de conteneurs GitLab
Cette documentation fait partie du guide Construction d'images Docker. Consultez le guide complet ici : Construisez et poussez des images Docker depuis vos pipelines GitLab CI/CD en utilisant votre runner Stackhero et Docker-in-Docker.
👋 Bienvenue sur la documentation de Stackhero !
Stackhero vous propose une solution GitLab Runner cloud simple à utiliser, conçue pour exécuter efficacement vos jobs GitLab CI/CD. Voici ce dont vous pouvez bénéficier :
- Minutes CI/CD illimitées : aucune facturation à la minute, vos pipelines s'exécutent quand vous en avez besoin.
- Jobs simultanés : lancez plusieurs jobs en parallèle pour accélérer l'ensemble de votre pipeline.
- Docker executor avec prise en charge de Docker-in-Docker : facilitez la création et le push de vos images de conteneurs.
- Compatible avec GitLab.com ainsi que toute instance GitLab auto-hébergé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 lancez vos pipelines en quelques minutes seulement !
GitLab fournit plusieurs variables prédéfinies (CI_REGISTRY, CI_REGISTRY_USER, CI_REGISTRY_PASSWORD, CI_REGISTRY_IMAGE) afin 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 manière.