In questa pagina viene spiegato come connettere un host GitLab in Cloud Build.
Prima di iniziare
-
Enable the Cloud Build and Secret Manager APIs.
Connessione a un host GitLab
Prima di creare una connessione host per la tua istanza GitLab, devi creare token di accesso personali in GitLab svolgendo i seguenti passaggi:
Accedi alla tua istanza GitLab.
Nella pagina GitLab della tua istanza, fai clic sul tuo avatar nell'angolo in alto a destra.
Fai clic su Modifica profilo.
Nella barra laterale a sinistra, seleziona Token di accesso.
Viene visualizzata la pagina Token di accesso personali.
Crea un token di accesso con l'ambito
api
da utilizzare per collegare e scollegare i repository.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:
Apri la pagina Repositori nella console Google Cloud.
Viene visualizzata la pagina Repositori.
Nella parte superiore della pagina, seleziona la scheda 2ª gen..
Nel selettore di progetti nella barra superiore, seleziona il tuo progetto Google Cloud.
Fai clic su Crea connessione host per collegare un nuovo host a Cloud Build.
Nel riquadro a sinistra, seleziona GitLab come fornitore di origine.
Nella sezione Configura connessione, inserisci le seguenti informazioni:
Regione: seleziona una regione per la connessione.
Nome: inserisci un nome per la connessione.
Nella sezione Dettagli host, seleziona o inserisci le seguenti informazioni:
- Provider GitLab: seleziona GitLab.com come provider.
Nella sezione Token di accesso personale, inserisci le seguenti informazioni:
Token di accesso all'API: inserisci il token con l'accesso all'ambito
api
. Questo viene utilizzato per collegare e scollegare i repository.Read API access token: inserisci il token con l'ambito
read_api
l'accesso. I trigger di Cloud Build utilizzano questo token per accedere all'origine di codice nei repository.
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 all'host, Cloud Build crea anche un segreto 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 memorizzare le tue credenziali:
Crea un secret webhook in Secret Manager eseguendo il seguente comando:
cat /proc/sys/kernel/random/uuid | tr -d '\n' | gcloud secrets create my-gle-webhook-secret --data-file=-
Se memorizzi i tuoi secret in un progetto Google Cloud diverso da quello che prevedi di utilizzare per creare una connessione all'host, inserisci il seguente comando per concedere al tuo 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.
Ora puoi procedere con la connessione del tuo host GitLab a in Cloud Build.
Completa i seguenti passaggi:
Per connettere il tuo host GitLab a Cloud Build:
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 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 tuo token con l'ambito
api
. - READ_TOKEN è il nome del tuo token con l'ambito
read_api
. - SECRET_VERSION è la versione del tuo secret.
- WEBHOOK_SECRET è il tuo secret webhook.
Hai creato una connessione GitLab.
Passaggi successivi
- Scopri come collegare un repository GitLab.
- Scopri come creare ed eseguire il deployment dei tuoi carichi di lavoro su Google Cloud utilizzando i componenti CI/CD gestiti da Google nella pipeline GitLab. Consulta GitLab su Google Cloud.