Crea repository da GitLab Enterprise Edition in una rete privata

Cloud Build ti consente di creare trigger per la creazione da repository ospitato su GitLab Enterprise Edition, che ti consente di eseguire build in risposta a eventi come push di commit richieste di unione associate al tuo repository GitLab Enterprise Edition.

In questa pagina viene spiegato come abilitare la funzionalità di trigger su un GitLab Istanza Enterprise Edition se l'istanza è ospitata in una rete privata.

Prima di iniziare

  • Abilita le API Cloud Build, Secret Manager, Compute Engine, and Service Networking.

    Abilita le API

Crea repository da GitLab Enterprise Edition in una rete privata

Se la tua istanza GitLab Enterprise Edition è accessibile solo all'interno di sulla rete VPC, devi configurare Service Directory e crea mediante pool privati. La che il progetto contenente la tua rete VPC può esistere in un'altra non contiene il servizio Service Directory. Segui queste istruzioni per assicurarti che l'istanza sia raggiungibile prima del giorno creando trigger:

  1. Attiva il API Service Directory.

  2. Assicurati di aver concesso il ruolo di Amministratore IAM progetto all'account il progetto Google Cloud in cui intendi creare Service Directory in. Per scoprire come concedere Per i ruoli IAM, consulta Configurazione dell'accesso alle risorse Cloud Build.

  3. Per configurare un servizio Service Directory, segui questi passaggi:

    1. Configura uno spazio dei nomi per il tuo progetto Google Cloud.

      La regione specificata nello spazio dei nomi deve corrispondere alla regione indicata specificato nella connessione host di Cloud Build.

    2. Configurare un servizio nel tuo spazio dei nomi.

    3. Configura un endpoint per il servizio registrato.

      Quando configuri un endpoint, devi utilizzare un indirizzo IP interno e un numero di porta HTTPS per consentire a Cloud Build di raggiungere completamente gestito di Google Cloud.

    Per saperne di più sulla configurazione dell'accesso alla rete privata, consulta Configura l'accesso alla rete privata. Service Directory offre inoltre integrazione con i servizi ad esempio i bilanciatori del carico e Google Kubernetes Engine (GKE). Per saperne di più, vedi Panoramica di Service Directory e bilanciamento del carico o Panoramica di Service Directory per GKE.

  4. Concedi a Service Directory l'accesso a Cloud Build Agente di servizio:

    export PROJECT_NUMBER=$(gcloud projects describe PROJECT_ID --format="value(projectNumber)")
    export CLOUD_BUILD_SERVICE_AGENT="service-${PROJECT_NUMBER}@gcp-sa-cloudbuild.iam.gserviceaccount.com"
    gcloud projects add-iam-policy-binding PROJECT_ID_CONTAINING_SERVICE_DIRECTORY_RESOURCE \
       --member="serviceAccount:${CLOUD_BUILD_SERVICE_AGENT}" \
       --role="roles/servicedirectory.viewer"
    

    Dove:

    • PROJECT_ID è l'ID del tuo progetto Google Cloud.
    • PROJECT_ID_CONTAINING_SERVICE_DIRECTORY_RESOURCE è l'ID progetto contenente la risorsa Service Directory.
  5. Concedi il ruolo Visualizzatore Service Directory al tuo l'account di servizio Cloud Build, service-${PROJECT_NUMBER}@gcp-sa-cloudbuild.iam.gserviceaccount.com.

  6. Concedi il ruolo Private Service Connect Authorized Service al tuo l'account di servizio Cloud Build per consentire l'accesso risorsa di rete VPC, service-${PROJECT_NUMBER}@gcp-sa-cloudbuild.iam.gserviceaccount.com. Tu deve concedere il ruolo nel progetto che contiene il tuo VPC in ogni rete.

  7. Utilizza pool privati per l'esecuzione le tue build. Se non hai creato un pool privato, consulta Creare un nuovo pool piscina privata.

  8. Segui le istruzioni per crea un trigger GitLab Enterprise Edition per creare repository ospitati su un'istanza GitLab Enterprise Edition.

    Se includi un certificato autofirmato o privato quando connetti il tuo GitLab Enterprise Edition su Cloud Build, devi impostare URI host come Nome alternativo del soggetto (SAN) del tuo certificato.

Il trigger GitLab Enterprise Edition ora richiamerà automaticamente le build la tua istanza GitLab Enterprise Edition in base alla tua configurazione.

Condivisione dei dati

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

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

  • ID progetto Google Cloud
  • Nome trigger

Passaggi successivi