Crea repository da GitLab Enterprise Edition

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Cloud Build ti consente di creare trigger da creare dai repository ospitati su GitLab Enterprise Edition, in modo da eseguire le build in risposta a eventi quali push di commit o richieste di pull associate al tuo repository GitLab Enterprise Edition.

Questa pagina spiega come abilitare la funzionalità trigger su un'istanza GitLab Enterprise Edition. Se vuoi creare repository da GitLab, consulta Creazione di repository da GitLab.

Prima di iniziare

  • Abilita le API Cloud Build and Secret Manager.

    Abilita le API

Creazione di un trigger di GitLab Enterprise Edition

Console

Per creare un trigger di GitLab Enterprise Edition utilizzando la console Google Cloud:

  1. Apri la pagina Attivatori:

    Apri la pagina Trigger

  2. Seleziona il tuo progetto Google Cloud nella parte superiore della pagina e fai clic su Apri.

  3. Fai clic su Crea trigger.

  4. Inserisci le seguenti impostazioni di attivazione:

    • Nome: un nome per l'attivatore.

    • Area geografica: seleziona l'area geografica per l'attivatore.

      • Se selezioni globale come area geografica, Cloud Build utilizza il pool predefinito per eseguire la build.
      • Se selezioni un'area geografica non globale e il file di configurazione di compilazione associato al trigger specifica un pool privato, Cloud Build utilizza il pool privato per eseguire la build. In questo caso, la regione specificata nel trigger deve corrispondere a quella in cui hai creato il pool privato.
      • Se selezioni un'area geografica non globale e il file di configurazione di compilazione associato al trigger non specifica un pool privato, Cloud Build utilizza il pool predefinito per eseguire la build nella stessa regione del trigger.
    • (Facoltativo) Descrizione: una descrizione dell'attivatore.

    • Evento: seleziona l'evento del repository per richiamare il trigger.

      • Push al ramo: imposta il trigger per avviare una build sui commit in un ramo specifico.

      • Esegui il push di un nuovo tag: imposta il trigger per avviare una build sui commit che contengono un determinato tag.

      • Richiesta di pull (Cloud Source Repositories non supportato): imposta il trigger per avviare una build su commit su una richiesta di pull.

    • Origine: seleziona il repository da creare quando viene eseguito il trigger di GitLab Enterprise Edition.

    • Revisione: seleziona il ramo o il tag da creare quando viene eseguito il trigger di GitLab Enterprise Edition.

    • Ramo: imposta un trigger per creare questo ramo.

    • Tag: imposta un attivatore per creare questo tag.

    • Configurazione: seleziona il file di configurazione della build situato nel repository o configura la build in linea sul trigger.

    • Tipo: seleziona il tipo di configurazione da utilizzare per la build.

      • File di configurazione di Cloud Build (yaml o json): utilizza un file di configurazione di compilazione per la configurazione.
      • Dockerfile: utilizza un Dockerfile per la configurazione.
    • Località: specifica la posizione della configurazione.

      • Repository: se il file di configurazione si trova nel tuo repository, fornisci la posizione del file di configurazione della build o la directory Dockerfile e un nome per l'immagine risultante. Se la configurazione è Dockerfile, puoi facoltativamente fornire un timeout per la build. Dopo aver fornito Dockerfile e il nome dell'immagine, vedrai un'anteprima del comando docker build che verrà eseguito.

      • In linea: se hai selezionato File di configurazione Cloud Build (yaml o json) come opzione di configurazione, puoi specificare la configurazione di build in linea. Fai clic su Apri editor per scrivere il file di configurazione della build in Google Cloud Console utilizzando la sintassi YAML o JSON. Fai clic su Fine per salvare la configurazione della build.

  5. Fai clic su Crea per creare il tuo trigger GitLab Enterprise Edition.

gcloud

Per creare un trigger di GitLab Enterprise Edition utilizzando i comandi gcloud, devi eseguire il seguente comando gcloud alpha builds triggers create gitlab-enterprise nel terminale:

gcloud alpha builds triggers create gitlab-enterprise
    --name=TRIGGER_NAME \
    --project-namespace=GITLAB_ENTERPRISE_EDITION_PROJECT_NAMESPACE \
    --gitlab-config-resource=projects/PROJECT_NUMBER/locations/REGION/gitLabConfigs/GITLAB_ENTERPRISE_EDITION_CONFIG_NAME \
    --branch-pattern=BRANCH_NAME \ # --tag-pattern=TAG_NAME
    --build-config=BUILD_CONFIG

Sostituisci quanto segue:

  • TRIGGER_NAME è il nome del tuo attivatore.
  • GITLAB_ENTERPRISE_EDITION_PROJECT_NAMESPACE lo spazio dei nomi del tuo progetto GitLab Enterprise Edition.
  • PROJECT_NUMBER è il numero del tuo progetto Google Cloud.
  • REGION è l'area geografica in cui si trova la configurazione di GitLab Enterprise Edition.
  • GITLAB_ENTERPRISE_EDITION_CONFIG_NAME è il nome della tua configurazione GitLab Enterprise.
  • BRANCH_NAME è l'espressione regolare del ramo se vuoi impostare il trigger per creare determinati rami.
  • TAG_NAME è l'espressione regolare del tag se vuoi impostare l'attivatore per creare determinati tag.
  • BUILD_CONFIG è il percorso del file di configurazione della build.

API

Per creare un trigger di GitLab Enterprise Edition con l'API, utilizza il seguente modello JSON.

    {
      "filename": "cloudbuild.yaml",
      "name": "curl-trigger",
      "description": "curl trigger",
      "gitlabEnterpriseEventsConfig": {
          "projectNamespace": GITLAB_ENTERPRISE_EDITION_PROJECT_NAMESPACE,
          "push": {
             "branch": BRANCH_NAME # "tag": TAG_NAME
          },
          "gitlabConfigResource": "projects/PROJECT_ID/locations/REGION/gitLabConfigs/GITLAB_ENTERPRISE_EDITION_CONFIG_NAME"
      }
  }

Sostituisci quanto segue:

  • GITLAB_ENTERPRISE_EDITION_PROJECT_NAMESPACE lo spazio dei nomi del tuo progetto GitLab Enterprise Edition.
  • BRANCH_NAME è l'espressione regolare del ramo se vuoi impostare il trigger per creare determinati rami.
  • TAG_NAME è l'espressione regolare del tag che vuoi impostare
  • PROJECT_ID è il tuo ID progetto Google Cloud.
  • REGION è l'area geografica in cui si trova la configurazione di GitLab Enterprise Edition.
  • GITLAB_ENTERPRISE_EDITION_CONFIG_NAME è il nome della tua configurazione GitLab Enterprise.

Inserisci il seguente comando curl nel tuo terminale:

curl -X POST -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/triggers -d @trigger.json

Sostituisci quanto segue:

  • PROJECT_ID è il tuo ID progetto Google Cloud.
  • REGION è l'area geografica in cui si trova la configurazione di GitLab Enterprise Edition.

Condivisione dei dati

I dati inviati a GitLab Enterprise Edition da Cloud Build ti aiutano a identificare i trigger per nome e a visualizzare i risultati della build nei tuoi repository GitLab Enterprise Edition.

I seguenti dati sono attualmente condivisi tra Cloud Build e GitLab Enterprise Edition:

  • ID progetto Cloud
  • Nome trigger

Passaggi successivi