Integrazione CI/CD: Utilizzo di Esadax Container Registry con GitLab e Bitbucket

Autore:Nils Krämer
Aggiornato:21 ago 2025

Di seguito sono riportate le configurazioni di GitLab CI e Bitbucket Pipelines per l’autenticazione e il push/pull di immagini Docker dal registro dei contenitori privati di Esadax.


🚀 Integrazione GitLab CI

Aggiungi quanto segue al tuo .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

Variabili di GitLab CI

Impostali in Impostazioni> CI/CD> Variabili:

  • Esadax_USERNAME: Il tuo nome utente del registro Esadax
  • Esadax_REGISTRY_TOKEN: Il tuo token personale o di automazione

🚀 Integrazione con Bitbucket Pipelines

Aggiungi questo al tuo bitbucket-pipelines.yml:

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

Variabili del repository di Bitbucket

Impostare quanto segue in Impostazioni repository> Variabili repository:

  • Esadax_USERNAME: Il tuo nome utente del registro
  • Esadax_REGISTRY_TOKEN: Il tuo token sicuro

⚠️ Nota: Per Bitbucket, assicurati di abilitare il supporto Docker e di includere il servizio docker.


✅ Consigli aggiuntivi

  • Utilizza token con ambito di progetto o CI con ambito e scadenza limitati.
  • Taggare le immagini in base agli ambienti (ad esempio, :dev, :staging, :prod).
  • Non codificare mai segreti o token direttamente nel tuo YAML o Dockerfiles.
  • Prendi in considerazione l'utilizzo di build-push-action per GitHub Actions come approccio alternativo.