Crea repository da Bitbucket Data Center

Cloud Build ti consente di creare trigger per eseguire build dai repository ospitati su Bitbucket Data Center, in modo da poter 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 attivare la funzionalità di attivazione in un'istanza di Bitbucket Data Center.

Prima di iniziare

  • Enable the Cloud Build, Secret Manager, and Compute Engine APIs.

    Enable the APIs

Creare un attivatore Bitbucket Data Center

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

Console

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

  1. Apri la pagina Trigger:

    Apri la pagina Trigger

  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 di trigger:

    • Nome: un nome per l'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 all'attivatore specifica un pool privato, Cloud Build utilizza il pool privato per eseguire la build. In questo caso, la regione specificata nell'attivatore deve corrispondere a quella in cui hai creato il pool privato.
      • Se selezioni una regione non globale e il file di configurazione di compilazione associato all'attivatore non specifica un pool privato, Cloud Build utilizza il pool predefinito per eseguire la compilazione nella stessa regione dell'attivatore.
    • (Facoltativo) Descrizione: una descrizione dell'attivatore.

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

      • Push a un ramo: imposta l'attivatore per avviare una build quando vengono eseguiti commit a un determinato ramo.

      • Invia nuovo tag: imposta l'attivatore in modo da avviare una build sui commit che contengono un determinato tag.

      • Richiesta di pull: imposta l'attivatore per avviare una compilazione su commit di una richiesta di pull.

    • Origine: seleziona 1ª generazione come origine.

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

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

      • Controllo dei commenti: se hai selezionato Pull request come Evento, scegli una delle seguenti opzioni per controllare se una build verrà eseguita automaticamente dall'attivatore:

      • 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 verranno eseguite automaticamente dall'attivatore. Se un collaboratore esterno avvia l'azione, le build verranno eseguite solo dopo che un proprietario o un collaboratore avrà commentato /gcbrun la richiesta di pull.

      • Obbligatorio: quando una richiesta di pull viene creata o aggiornata da un collaboratore, le build verranno eseguite solo dopo che un proprietario o un collaboratore avrà commentato /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 qualsiasi collaboratore, le build verranno eseguite automaticamente dagli attivatori.

    • Configurazione: seleziona il file di configurazione della build nel tuo repository o configura la build in linea nell'attivatore.

    • 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 della build per la tua configurazione.
      • Dockerfile: utilizza un Dockerfile per la configurazione.
    • Posizione: specifica la posizione della configurazione.

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

      • In linea: se hai selezionato File di configurazione di Cloud Build (yaml o json) come opzione di configurazione, puoi specificare la configurazione della build in linea. Fai clic su Apri editor per scrivere il file della configurazione di compilazione 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 l'attivatore 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 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 tuo repository Bitbucket Data Center.
  • PROJECT_NUMBER è il numero del progettoGoogle Cloud .
  • REGION è la regione associata alla configurazione di Bitbucket Data Center.
  • ID è l'ID di BitbucketServerConfig.
  • BRANCH_NAME è un'espressione regolare che corrisponde al tuo ramo se vuoi impostare l'attivatore per la compilazione di determinati rami.
  • TAG_NAME è un'espressione regolare che corrisponde al tag se vuoi impostare l'attivatore per creare determinati tag.
  • BUILD_CONFIG è il percorso del file di configurazione della build.

API

Per creare un attivatore 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 tuo repository Bitbucket Data Center.
  • PROJECT_KEY è la chiave del tuo progetto Bitbucket Data Center.
  • BRANCH_NAME è l'espressione regolare che corrisponde al tuo ramo se vuoi impostare l'attivatore per la compilazione di 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 progettoGoogle Cloud .
  • REGION è la regione associata alla configurazione di Bitbucket Data Center.
  • ID è l'ID di BitbucketServerConfig.

Inserisci il seguente comando curl nel terminale, dove PROJECT_ID è l'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 ti aiutano a identificare gli attivatori per nome e a visualizzare i risultati di compilazione nei repository di Bitbucket Data Center.

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

  • ID progettoGoogle Cloud
  • Nome trigger

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

Passaggi successivi