Crea repository da Bitbucket Server

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

Questa pagina spiega come attivare la funzionalità di attivazione su un'istanza di Bitbucket Server.

Prima di iniziare

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

    Enable the APIs

Creazione di un trigger Bitbucket Server

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

Console

Per creare un trigger Bitbucket Server utilizzando la console Google Cloud:

  1. Apri la pagina Trigger:

    Apri la pagina Attivatori

  2. Seleziona il tuo 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 global come regione, Cloud Build utilizza il valore predefinito pool 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 nel trigger deve corrispondere alla regione 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.

      • Esegui il push a un ramo: imposta il trigger per avviare una build in base ai commit per un determinato ramo.

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

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

    • Origine: seleziona 1a generazione come origine.

      • Repository: dall'elenco dei repository disponibili, seleziona un repository. Per connettere un nuovo repository, consulta Connettiti a un repository Bitbucket Server.

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

      • Controllo dei commenti: se hai selezionato Pull request come Evento, puoi scegliere le impostazioni per controllare se gli eventi diversi dai commenti richiedono un'interazione aggiuntiva per attivare le build. Scegli una delle seguenti opzioni per controllare se una compilazione verrà eseguita automaticamente dall'attivatore:

        • Obbligatorio, tranne che per proprietari e collaboratori: quando viene eseguito un pull una richiesta viene creata o aggiornata dal proprietario di un repository o un utente con autorizzazioni di scrittura, le build verranno eseguite automaticamente il trigger. Se l'azione viene avviata da un collaboratore esterno, le build verranno eseguite solo dopo che un proprietario o un utente con autorizzazioni di scrittura avrà commentato /gcbrun la richiesta di pull. Consulta: COMMENTS_ENABLED_FOR_EXTERNAL_CONTRIBUTORS_ONLY

        • Obbligatorio: se un utente con autorizzazioni di scrittura crea una richiesta di pull e include /gcbrun nella descrizione della richiesta di pull, la build viene eseguita al momento della creazione della richiesta di pull. Quando una richiesta di pull viene creata o aggiornata da qualsiasi altro collaboratore, le build verranno eseguite solo dopo che un proprietario o un utente con autorizzazioni di scrittura avrà commentato la richiesta di pull./gcbrun Consulta COMMENTS_ENABLED.

        • Non obbligatorio: quando una richiesta di pull viene creata o aggiornata da qualsiasi collaboratore, le build vengono eseguite automaticamente dagli attivatori. Vedi COMMENTS_DISABLED.

        In Bitbucket Server, gli eventi non correlati al commento includono azioni come aprire, modificare e approvare le richieste di pull.

        Eventi di commento, tra cui l'aggiunta, la modifica e l'eliminazione , attiverà le build solo se il commento proviene da un utente con autorizzazioni di scrittura o superiori e il commento contiene /gcbrun.

        Per ulteriori informazioni sui tipi di eventi Bitbucket Server, consulta Bitbucket documentazione sulla gestione dei webhook.

    • Configurazione: seleziona il file di configurazione della build che si trova in al tuo repository o configurare la build in linea il 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 configurazione.
      • Dockerfile: utilizza un Dockerfile per la configurazione.
    • Posizione: specifica la posizione per la configurazione.

      • Repository: se il file di configurazione si trova nel percorso repository Git, fornisci la posizione file di configurazione della build o Dockerfile e un nome per l'immagine risultante. Se la tua configurazione è un Dockerfile. Se vuoi, puoi impostare un timeout per la build. Dopo aver fornito l'attributo Dockerfile e il nome dell'immagine, visualizzerai un anteprima del comando docker build che verrà eseguita dalla build.

      • 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 il trigger Bitbucket Server.

gcloud

Per creare un trigger Bitbucket Server utilizzando i comandi gcloud, dovrai eseguire il seguente comando Comando gcloud builds triggers create bitbucketserver in il 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 del tuo trigger.
  • PROJECT_KEY è la chiave del tuo progetto Bitbucket Server. PROJECT_KEY è sensibile alle maiuscole.
  • REPO_SLUG è lo slug del tuo repository Bitbucket Server. Per ulteriori informazioni, consulta la guida di Bitbucket sugli slug dei repository.
  • PROJECT_NUMBER è il numero del progetto Cloud.
  • REGION è la regione associata alla configurazione di Bitbucket Server.
  • ID è l'ID di BitbucketServerConfig.
  • BRANCH_NAME è un'espressione regolare che corrisponde al ramo, se vuoi per impostare il trigger per creare 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 di Bitbucket Server 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"
        "comment_control": "COMMENT_SETTING"
    }
}

Dove:

  • REPO_SLUG è lo slug del tuo repository Bitbucket Server. Per ulteriori informazioni, vedi Guida di Bitbucket sugli slug dei repository.
  • PROJECT_KEY è la chiave del tuo progetto Bitbucket Server. PROJECT_KEY è sensibile alle maiuscole.
  • BRANCH_NAME è l'espressione regolare del ramo, se vuoi per impostare il trigger per creare determinati rami.
  • TAG_NAME è l'espressione regolare del tag se vuoi impostare l'attivatore per creare determinati tag.
  • PROJECT_NUMBER è il numero di progetto progetto cloud.
  • REGION è la regione associata alla configurazione di Bitbucket Server.
  • ID è l'ID di BitbucketServerConfig.
  • COMMENT_SETTING è l'impostazione che controlla se gli attivatori di build richiedono /gcbrun in un commento per l'esecuzione della build. Per ulteriori informazioni, consulta commentControl.

Inserisci questo comando curl nel terminale:

curl -X POST -H "Authorization: Bearer "$(gcloud auth print-access-token) -H "Content-Type: application/json; charset=utf-8" -H "x-goog-user-project: PROJECT_NUMBER" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/triggers -d @trigger.json

Dove:

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

Condivisione dei dati

I dati inviati a Bitbucket Server da Cloud Build ti aiutano a identificare i trigger per nome e a visualizzare i risultati della build su Bitbucket Server.

I seguenti dati sono condivisi tra Cloud Build e Bitbucket Server:

  • ID progetto Google Cloud
  • Nome trigger

La condivisione dei dati è abilitata automaticamente per Bitbucket Server.

Passaggi successivi