Intégration CI/CD: Utiliser Esadax Container Registry avec GitLab & Bitbucket

Auteur:Nils Krämer
Mise à jour:21 août 2025

Vous trouverez ci-dessous les configurations GitLab CI et Bitbucket Pipelines pour l’authentification et le push/pull d’images Docker à partir du registre de conteneurs privés Esadax.


🚀 Intégration GitLab CI

Ajoutez ce qui suit à votre .gitlab-ci.yml:

stages:
  - build
  - deploy

variables:
  DOCKER_REGISTRY: esadax-registry.esadax.sh
  IMAGE_NAME: my-project/my-app

before_script:
  - echo "$Esadax_REGISTRY_TOKEN" | docker login $DOCKER_REGISTRY -u "$Esadax_USERNAME" --password-stdin

build_image:
  stage: build
  script:
    - docker build -t $DOCKER_REGISTRY/$IMAGE_NAME:latest .
    - docker push $DOCKER_REGISTRY/$IMAGE_NAME:latest

GitLab CI Variables

Définissez-les dans Paramètres> CI/CD> Variables:

  • Esadax_USERNAME: Votre nom d'utilisateur du registre Esadax
  • Esadax_REGISTRY_TOKEN: Votre jeton personnel ou d'automatisation

🚀 Intégration de Bitbucket Pipelines

Ajoutez ceci à vos favorisbitbucket-pipelines.yml2.1.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2.2

image: docker:20.10.7

pipelines:
  default:
    - step:
        name: Build & Push to Esadax Registry
        services:
          - docker
        caches:
          - docker
        script:
          - echo $Esadax_REGISTRY_TOKEN | docker login esadax-registry.esadax.sh -u $Esadax_USERNAME --password-stdin
          - docker build -t esadax-registry.esadax.sh/my-project/my-app:latest .
          - docker push esadax-registry.esadax.sh/my-project/my-app:latest

Variables de dépôt Bitbucket

Définissez ce qui suit sous Paramètres du référentiel> Variables du référentiel:

  • Esadax_USERNAME: Votre nom d'utilisateur du registre
  • Esadax_REGISTRY_TOKEN: Votre jeton sécurisé

⚠️ Remarque: Pour Bitbucket, assurez-vous d'activer Docker support et d'inclure le service docker.


✅ Conseils supplémentaires

  • Utilisez des jetons de portée de projet ou CI avec une portée et une expiration limitées.
  • Balisez les images en fonction des environnements (par exemple, :dev, :staging, :prod).
  • Ne codez jamais les secrets ou les jetons directement dans votre YAML ou Dockerfiles.
  • Envisagez d'utiliser build-push-action pour les actions GitHub comme approche alternative.