Connettiti a un host del data center Bitbucket

In questa pagina viene spiegato come collegare un Data center Bitbucket in Cloud Build.

Prima di iniziare

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

    Abilita le API

  • Prepara il codice sorgente in un repository di data center Bitbucket.
  • Avere un Dockerfile o un file di configurazione di Cloud Build in il repository di origine del data center Bitbucket.
  • Se non hai installato un'istanza di data center Bitbucket, consulta Per istruzioni, installa Bitbucket Data Center.
  • Per utilizzare i comandi gcloud in questa pagina, installa Google Cloud CLI.

Connettiti a un host del data center Bitbucket

Console

Per connettere l'host del data center Bitbucket a Cloud Build utilizzando la console Google Cloud:

  1. Apri la pagina Repository nella console Google Cloud:

    Apri la pagina Repository

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

  3. Fai clic su Connetti host.

  4. Seleziona Bitbucket Data Center dal menu a discesa.

    Verrà visualizzato il riquadro Connetti host.

    Inserisci le seguenti informazioni per connettere il tuo Bitbucket Dall'istanza del data center a Cloud Build:

    1. Regione: seleziona la regione per la connessione.

    2. Nome: inserisci un nome per la connessione.

    3. URL host: l'URL dell'host della tua istanza Bitbucket Data Center. Ad esempio: https://bbs.example-test.com:7990.

    4. Chiave API Google Cloud: inserisci la chiave API utilizzata per autenticare la tua app. e credenziali.

    5. Certificato CA: il tuo certificato autofirmato. Il certificato non deve superano i 10 kB e devono essere in formato PEM (.pem, .cer o .crt). Se lasci vuota questa sezione, Google Cloud utilizza un certificato dell'insieme predefinito di certificati.

    6. Nome utente: il nome utente del tuo account Bitbucket Data Center. Questo account devono avere accesso amministrativo ai repository che vuoi per la connessione a Cloud Build.

    7. Leggi token di accesso. Inserisci il tuo account personale Bitbucket Data Center di accesso a token con autorizzazioni di lettura.

    8. Token di accesso amministrativo: inserisci il tuo account Bitbucket Data Center token di accesso personale con autorizzazioni di amministratore per progetti e repository.

    9. In Tipo di rete, seleziona una delle seguenti opzioni:

      1. Internet pubblica: seleziona questa opzione se l'istanza è accessibili tramite la rete internet pubblica.

      2. Rete privata: seleziona questa opzione se la tua istanza è ospitata su una rete privata.

        1. Progetto: seleziona il tuo ID progetto Google Cloud.

        2. Rete: seleziona la tua rete dal menu a discesa. Se non hanno creato una rete, consulta Creare e gestire VPC reti per imparare a creare una rete.

        3. Intervallo IP: inserisci l'intervallo IP interno che può essere assegnato alle VM nell'intervallo allocato a una rete in peering.

          Puoi specificare l'intervallo utilizzando la notazione di routing CIDR (Classless Inter-Domain Routing) nel formato STARTING_IP/SUBNET_PREFIX_SIZE. Ad esempio, 192.0.2.0/24 ha una lunghezza del prefisso di 24 caratteri. I primi 24 bit dell'intervallo IP vengono utilizzati come subnet mask (192.0.2.0), mentre i possibili indirizzi host sono compresi tra 192.0.2.0 e 192.0.2.255.

          Il valore della lunghezza del prefisso non deve superare /29. In caso contrario per l'intervallo, viene assegnato automaticamente un valore predefinito di /24. Se non viene specificato alcun valore per la lunghezza del prefisso, gli indirizzi IP vengono assegnati automaticamente all'interno della rete VPC in peering. Se non viene specificato alcun valore per l'IP indirizzo IP, all'indirizzo IP viene assegnato automaticamente un intervallo all'interno della rete VPC in peering.

  5. Fai clic su Connetti host.

    Se l'istanza del data center Bitbucket si trova su una rete in peering, la connessione l'host potrebbe richiedere diversi minuti.

    Si aprirà il riquadro Connetti repository.

    Dopo aver creato una connessione host, i token di accesso personali e Il secret webhook verrà archiviato in modo sicuro in Secret Manager. Puoi visualizzare e gestire i tuoi secret nella Secret Manager .

gcloud

Per connettere l'host del data center Bitbucket a Cloud Build usando i comandi gcloud, devi eseguire gcloud alpha builds enterprise-config bitbucketserver create nel terminale. A differenza di quando colleghi l'host tramite nella console Google Cloud, dovrai archiviare manualmente i tuoi token di accesso e secret webhook in Secret Manager prima di eseguire il seguente comando:

gcloud alpha builds enterprise-config bitbucketserver create
    --name=BITBUCKET_DATA_CENTER_CONFIG_NAME \
    --user-name=USERNAME \
    --host-uri=HOST_URI \
    --admin-access-token-secret-version=ADMIN_ACCESS_TOKEN_SECRET_VERSION \
    --read-access-token-secret-version=READ_ACCESS_TOKEN_SECRET_VERSION \
    --webhook-secret-secret-version=WEBHOOK_SECRET_SECRET_VERSION \
    --api-key=API_KEY \
    --peered-network=PEERED_NETWORK \
    --peered-network-ip-range=PEERED_NETWORK_IP_RANGE \
    --ssl-ca-file=SSL_CA_FILE

Dove:

  • BITBUCKET_DATA_CENTER_CONFIG_NAME è il nome del tuo Configurazione del data center Bitbucket.
  • USERNAME è il nome utente del tuo data center Bitbucket.
  • HOST_URI è l'URI dell'host della tua istanza Bitbucket Data Center.
  • ADMIN_ACCESS_TOKEN_SECRET_VERSION è il nome della risorsa di accesso amministrativo archiviato in Secret Manager. La formato previsto per i secret archiviati in Secret Manager è projects/${PROJECT_ID}/secrets/${SECRET_NAME}/versions/${VERSION_NUMBER}. Puoi specificare latest come versione per utilizzare l'ultima versione di il tuo segreto. Questo vale per ogni risorsa archiviata tramite Secret Manager.
  • READ_ACCESS_TOKEN_SECRET_VERSION è il nome della risorsa di accesso in lettura archiviato in Secret Manager.
  • WEBHOOK_SECRET_SECRET_VERSION è il nome della risorsa del tuo secret webhook archiviato in Secret Manager.
  • API_KEY è la chiave API di Google Cloud.
  • (Facoltativo) PEERED_NETWORK è la rete VPC a cui connetterti per le tue istanze Data Center Bitbucket on-premise. Per saperne di più, consulta Creare repository dal data center Bitbucket in una rete privata.

  • (Facoltativo) PEERED_NETWORK_IP_RANGE è l'IP interno a cui possono essere assegnate le VM all'interno dell'intervallo allocato di una rete in peering.

  • SSL_CA_FILE è il percorso di un file locale che contiene il tuo certificato SSL da utilizzare per le richieste a Bitbucket Data Center. Il certificato deve essere in formato PEM.

API

Per connettere l'host del data center Bitbucket a Cloud Build con l'API, usa il seguente modello JSON. A differenza di quanto accade con il collegamento utilizzando la console Google Cloud, dovrai archiviare manualmente i tuoi token di accesso e secret webhook in Secret Manager prima di chiamare l'API:

{
    "hostUri": "HOST_URI",
    "username": "USERNAME",
    "apiKey": "API_KEY",
    "secrets": {
      "adminAccessTokenVersionName": "ADMIN_ACCESS_TOKEN_SECRET_VERSION",
      "readAccessTokenVersionName": "READ_ACCESS_TOKEN_SECRET_VERSION",
      "webhookSecretVersionName": "WEBHOOK_SECRET_SECRET_VERSION",
    },
    "peeredNetwork": "PEERED_NETWORK",
    "peeredNetworkIpRange": "PEERED_NETWORK_IP_RANGE",
    "sslCa": "SSL_CERTIFICATE"
}

Dove:

  • HOST_URI è l'URI dell'host della tua istanza Bitbucket Data Center.
  • USERNAME è il nome utente del tuo data center Bitbucket.
  • API_KEY è la chiave API di Google Cloud.
  • ADMIN_ACCESS_TOKEN_SECRET_VERSION è il nome della risorsa di accesso amministrativo archiviato in Secret Manager. Tu potrebbe dover concedere il ruolo di Secret Manager al tuo l'account di servizio Cloud Build, service-${PROJECT_NUMBER}@gcp-sa-cloudbuild.iam.gserviceaccount.com. A per saperne di più, consulta Concessione del ruolo di Secret Manager ai tuoi dell'account di servizio.

  • READ_ACCESS_TOKEN_SECRET_VERSION è il nome della risorsa del token di accesso in lettura archiviato in Secret Manager.

  • WEBHOOK_SECRET_SECRET_VERSION è il nome della risorsa del tuo secret webhook archiviato in Secret Manager.

  • Facoltativo: PEERED_NETWORK è il VPC la rete con cui stabilire il peering per le tue istanze di data center Bitbucket on-premise.

    Puoi specificare l'intervallo utilizzando il Classless Inter-Domain Routing (CIDR) notazione di routing nel formato STARTING_IP/SUBNET_PREFIX_SIZE. Ad esempio: 192.0.2.0/24 ha una lunghezza del prefisso di 24 caratteri. I primi 24 bit dell'intervallo IP vengono utilizzati come subnet mask (192.0.2.0), mentre i possibili indirizzi host l'intervallo è compreso tra 192.0.2.0 e 192.0.2.225.

  • Facoltativo: PEERED_NETWORK_IP_RANGE è l'IP interno a cui possono essere assegnate le VM all'interno dell'intervallo allocato di una rete in peering.

  • (Facoltativo) SSL_CERTIFICATE è il certificato SSL utilizzato per le tue istanze Bitbucket Data Center on-premise.

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" https://cloudbuild.googleapis.com/v1/projects/PROJECT_ID/locations/REGION/bitbucketServerConfigs/?bitbucketServerConfigId=BITBUCKET_DATA_CENTER_CONFIG_NAME -d @config.json

Dove:

  • PROJECT_ID è il tuo ID progetto Google Cloud.
  • REGION è la regione associata alla configurazione del data center Bitbucket.
  • BITBUCKET_DATA_CENTER_CONFIG_NAME è il nome della configurazione del data center Bitbucket.

In caso di esito positivo, il corpo della risposta contiene un'istanza dell'Operazione appena creata.

Inserisci questo comando curl nel terminale:

  curl -X GET -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/locations/REGION/operations/OPERATION_ID

Dove:

  • PROJECT_NUMBER è il numero del tuo progetto Google Cloud.
  • PROJECT_ID è l'ID del tuo progetto Google Cloud.
  • REGION è la regione associata alla configurazione del data center Bitbucket.
  • OPERATION_ID è l'ID dell'operazione di creazione della configurazione del data center Bitbucket.

Potresti dover continuare a eseguire il comando API GetOperation finché la risposta non contiene done: true, che indica che l'operazione è stata completata. Se la configurazione del data center di Bitbucket è stata creata correttamente, puoi visualizzarla nel campo response.value. In caso contrario, consulta il campo error per un report dettagliato sugli errori.

Passaggi successivi