Connettersi a un host GitLab

Questa pagina spiega come connettere un host GitLab a Cloud Build.

Prima di iniziare

  • Abilita le API Cloud Build and Secret Manager.

    Abilita le API

Connessione a un host GitLab

Prima di creare una connessione host per la tua istanza GitLab, devi creare token di accesso personali in GitLab completando i seguenti passaggi:

  1. Accedi alla tua istanza GitLab Enterprise Edition.

  2. Nella pagina GitLab Enterprise Edition per la tua istanza, fai clic sul tuo avatar nell'angolo in alto a destra.

  3. Fai clic su Modifica profilo.

  4. Nella barra laterale sinistra, seleziona Token di accesso.

    Verrà visualizzata la pagina Personal Access Tokens (Token accesso personale).

  5. Crea un token di accesso con l'ambito api da utilizzare per connettere e scollegare i repository.

  6. Crea un token di accesso con l'ambito read_api per assicurarti che i repository Cloud Build possano accedere al codice sorgente nei repository.

Console

Per connettere il tuo host GitLab a Cloud Build:

  1. Apri la pagina Repositories nella console Google Cloud.

    Apri la pagina Repository

    Verrà visualizzata la pagina Repositories.

  2. Nella parte superiore della pagina, seleziona la scheda 2a generazione.

  3. Nel selettore di progetti nella barra superiore, seleziona il tuo progetto Google Cloud.

  4. Fai clic su Crea connessione host per connettere un nuovo host a Cloud Build.

  5. Nel riquadro a sinistra, seleziona GitLab come fornitore di origine.

  6. Nella sezione Configura connessione, inserisci le seguenti informazioni:

    1. Regione: seleziona una regione per la connessione.

    2. Nome: inserisci un nome per la connessione.

  7. Nella sezione Dettagli host, seleziona o inserisci le seguenti informazioni:

    1. Fornitore GitHub: seleziona GitLab.com come fornitore.
  8. Nella sezione Token di accesso personali, inserisci le seguenti informazioni:

    1. Token di accesso API: inserisci il token con l'accesso all'ambito api. Questo token viene utilizzato per collegare e scollegare i repository.

    2. Lettura token di accesso all'API: inserisci il token con l'accesso all'ambito read_api. I trigger di Cloud Build utilizzano questo token per accedere al codice sorgente nei repository.

  9. Fai clic su Connetti.

    Dopo aver fatto clic sul pulsante Connetti, i token di accesso personali vengono archiviati in modo sicuro in Secret Manager. Dopo la connessione host, Cloud Build crea anche un secret webhook per tuo conto. Puoi visualizzare e gestire i tuoi secret nella pagina Secret Manager.

Hai creato una connessione GitLab.

gcloud

Prima di connettere l'host GitLab a Cloud Build, completa i seguenti passaggi per archiviare le tue credenziali:

  1. Archivia il token in Secret Manager.

  2. Crea un secret webhook in Secret Manager eseguendo questo comando:

     cat /proc/sys/kernel/random/uuid | tr -d '\n' | gcloud secrets create my-gle-webhook-secret --data-file=-
    
  3. Se archivi i secret in un progetto Google Cloud diverso da quello che prevedi di utilizzare per creare una connessione host, inserisci il comando seguente per concedere al progetto l'accesso all'agente di servizio Cloud Build:

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

    Dove:

    • PROJECT_ID è l'ID del tuo progetto Google Cloud.
    • CLOUD_BUILD_SERVICE_AGENT è il tuo

Ora puoi procedere per connettere il tuo host GitLab a Cloud Build.

Procedi con i seguenti passaggi:

Per connettere il tuo host GitLab a Cloud Build:

  1. Inserisci il comando seguente per creare una connessione GitLab:

    gcloud builds connections create gitlab CONNECTION_NAME \
      --host-uri=HOST_URI \
      --project=PROJECT_ID \
      --region=REGION \
      --authorizer-token-secret-version=projects/PROJECT_ID/secrets/API_TOKEN/versions/SECRET_VERSION \
      --read-authorizer-token-secret-version=projects/PROJECT_ID/secrets/READ_TOKEN/versions/SECRET_VERSION \
      --webhook-secret-secret-version=projects/PROJECT_ID/secrets/WEBHOOK_SECRET/versions/SECRET_VERSION
    

    Dove:

    • CONNECTION_NAME è il nome della tua connessione.
    • HOST_URI è l'URI della tua istanza GitLab. Ad esempio, https://my-gle-server.net.
    • PROJECT_ID è l'ID del tuo progetto Google Cloud.
    • REGION è la regione per la tua connessione.
    • API_TOKEN è il nome del token con l'apiambito.
    • READ_TOKEN è il nome del token con l'read_apiambito.
    • SECRET_VERSION è la versione del tuo secret.
    • WEBHOOK_SECRET è il tuo secret per il webhook.

Hai creato una connessione GitLab.

Passaggi successivi