Crea repository da Bitbucket Data Center

Cloud Build ti consente di creare trigger per creare trigger da repository ospitati su Bitbucket Data Center, in modo da eseguire le build in risposta a eventi come push di commit o richieste di pull associate al tuo repository Bitbucket Data Center.

Questa pagina spiega come abilitare la funzionalità di trigger su un'istanza di data center Bitbucket.

Prima di iniziare

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

    Abilita le API

Crea un trigger di Bitbucket Data Center

Questa sezione spiega come connettere i repository Bitbucket Data Center a Cloud Build e creare un trigger per richiamare automaticamente le build sui repository connessi. Se vuoi utilizzare i trigger di Bitbucket Data Center in una rete privata, consulta Creazione di repository da Bitbucket Data Center in una rete privata per ulteriori istruzioni.

Console

Per creare un trigger di Bitbucket Data Center utilizzando la console Google Cloud:

  1. Apri la pagina Attivatori:

    Apri la pagina Attivatori

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

  3. Fai clic su Crea trigger.

  4. Inserisci le seguenti impostazioni del trigger:

    • Nome: il nome dell'attivatore.

    • Regione: seleziona la regione per l'attivatore.

      • Se selezioni globale come regione, Cloud Build utilizza il pool predefinito per eseguire la build.
      • Se selezioni una regione non globale e il file di configurazione della build 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 una regione non globale e il file di configurazione della build 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 a un ramo: imposta il trigger per avviare una build sui commit in un ramo specifico.

      • Esegui il push per nuovo tag: imposta l'attivatore in modo che avvii una build sui commit che contengono un determinato tag.

      • Richiesta di pull: imposta il trigger per avviare una build sui commit di una richiesta di pull.

    • Origine: seleziona 1a generazione come origine.

      • Repository: seleziona un repository dall'elenco dei repository disponibili. Per connettere un nuovo repository, consulta Connettersi a un repository Bitbucket Data Center.

      • Ramo o Tag: specifica un'espressione regolare con il ramo o il valore del tag da abbinare.

      • Controllo dei commenti: se hai selezionato Richiesta di pull come Evento, scegli una delle seguenti opzioni per controllare se una build verrà eseguita automaticamente dal trigger:

      • Obbligatorio tranne che per proprietari e collaboratori: quando una richiesta di pull viene creata o aggiornata da un proprietario o un collaboratore del repository, le build vengono eseguite automaticamente dal trigger. Se un collaboratore esterno avvia l'azione, le build verranno eseguite solo dopo che un proprietario o un collaboratore commenta /gcbrun nella richiesta di pull.

      • Obbligatorio: quando un collaboratore crea o aggiorna una richiesta di pull, le build vengono eseguite solo dopo che un proprietario o un collaboratore commenta /gcbrun la richiesta di pull. Le build vengono eseguite ogni volta che viene apportata una modifica a una richiesta di pull.

      • Non obbligatorio: quando una richiesta di pull viene creata o aggiornata da un collaboratore, le build verranno eseguite automaticamente dai trigger.

    • Configurazione: seleziona il file di configurazione della build che si trova 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 tua configurazione.
      • Dockerfile: utilizza un Dockerfile per la configurazione.
    • Località: specifica la località della configurazione.

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

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

  5. Fai clic su Crea per creare il trigger di Bitbucket Data Center.

gcloud

Per creare un trigger di Bitbucket Data Center utilizzando i comandi gcloud, devi eseguire il seguente comando gcloud builds triggers create bitbucketserver nel tuo terminale:

gcloud builds triggers create bitbucketserver
--name=TRIGGER_NAME \
--project-key=PROJECT_KEY \
--repo-slug=REPO_SLUG \
--bitbucket-server-config-resource=projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/ID \
--branch-pattern=BRANCH_NAME \ # --tag-pattern=TAG_NAME
--build-config=BUILD_CONFIG

Dove:

  • TRIGGER_NAME è il nome dell'attivatore.
  • PROJECT_KEY è la chiave del tuo progetto Bitbucket Data Center.
  • REPO_SLUG è lo slug del repository del data center Bitbucket.
  • PROJECT_NUMBER è il numero del tuo progetto Google Cloud.
  • REGION è la regione associata alla configurazione del data center Bitbucket.
  • ID è l'ID di BitbucketServerConfig.
  • BRANCH_NAME è un'espressione regolare che corrisponde al tuo ramo se vuoi impostare il trigger per creare determinati rami.
  • TAG_NAME è un'espressione regolare che corrisponde al tuo 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 Bitbucket Data Center con l'API, utilizza il seguente modello JSON.

{
  "filename": "cloudbuild.yaml",
  "name": "curl-trigger",
  "description": "curl trigger",
  "bitbucket_server_trigger_config": {
      "repo_slug": "REPO_SLUG",
      "project_key": "PROJECT_KEY",
      "push": {
          "branch": "BRANCH_NAME" # "tag": "TAG_NAME"
      },
      "bitbucket_server_config_resource": "projects/PROJECT_NUMBER/locations/REGION/bitbucketServerConfigs/ID"
  }
}

Dove:

  • REPO_SLUG è lo slug del repository del data center Bitbucket.
  • PROJECT_KEY è la chiave del tuo progetto Bitbucket Data Center.
  • BRANCH_NAME è l'espressione regolare che corrisponde al ramo se vuoi impostare il trigger per creare determinati rami.
  • TAG_NAME è l'espressione regolare che corrisponde al tag se vuoi impostare l'attivatore per creare determinati tag.
  • PROJECT_NUMBER è il numero del tuo progetto Google Cloud.
  • REGION è la regione associata alla configurazione del data center di Bitbucket.
  • ID è l'ID di BitbucketServerConfig.

Inserisci il seguente comando curl nel terminale, dove PROJECT_ID è il tuo ID progetto Google Cloud:

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/triggers -d @trigger.json

Condivisione dei dati

I dati inviati a Bitbucket Data Center da Cloud Build consentono di identificare i trigger in base al nome e di visualizzare i risultati delle build sui repository Bitbucket Data Center.

I seguenti dati sono condivisi tra Cloud Build e l'host del data center Bitbucket:

  • ID progetto Google Cloud
  • Nome trigger

La condivisione dei dati è abilitata automaticamente per Bitbucket Data Center.

Passaggi successivi