저장소 연결 패널이 표시됩니다. 다음 단계를 완료하여 Bitbucket 서버 저장소를 연결합니다.
리전: 연결이 있는 리전을 선택합니다.
소스 코드 관리 제공업체 선택에서 Bitbucket 서버를 선택합니다.
호스트 연결: 드롭다운 메뉴에서 호스트 연결의 이름을 선택합니다.
계속을 클릭합니다.
저장소 선택에서 Cloud Build에 연결할 Bitbucket 서버 저장소를 선택합니다.
Bitbucket 서버 계정 및 저장소를 선택한 후 동의 면책조항을 읽고 그 옆에 있는 체크박스를 선택하여 표시된 약관에 동의합니다.
연결을 클릭하여 저장소를 연결합니다.
저장소가 연결되면 Cloud Build가 Bitbucket 서버 인스턴스의 저장소에 웹훅을 구성합니다. 그런 다음 저장소는 웹훅을 전송하여 저장소를 변경할 때 해당 Bitbucket 서버 트리거를 호출합니다. 저장소는 여러 호스트 연결로 여러 번 연결될 수도 있습니다.
웹훅을 관리하는 방법은 웹훅 관리를 참조하세요.
웹훅을 찾으려면 웹훅 ID가 필요합니다. 연결된 각 저장소의 웹훅 ID는 BitbucketServerConfig에서 확인할 수 있습니다.
BITBUCKET_SERVER_CONFIG_NAME은 Bitbucket 서버 구성의 이름입니다.
PROJECT_KEY는 Bitbucket 서버 프로젝트의 키입니다.
개인 저장소를 연결하려면 프로젝트 키에 사용자 이름 앞에 물결표(~) 기호가 포함되어 있어야 합니다. ~${USERNAME}). 호스트 저장소의 전체 URL은 https://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}와 같습니다.
OPERATION_ID는 Bitbucket 서버 구성 만들기 작업의 ID입니다.
응답의 name 필드에서 작업 ID를 찾을 수 있습니다. 응답의 name 필드 형식은 다음과 같습니다. projects/project-id/locations/region/operations/operation-id
작업이 완료되었음을 나타내는 done: true가 포함될 때까지 GetOperation API 명령어를 계속 실행해야 할 수 있습니다. Bitbucket 서버 저장소가 성공적으로 연결되면 response.bitbucketServerConnectedRepositories 필드에 연결된 저장소를 볼 수 있습니다. 그렇지 않은 경우 error 필드를 참조하여 자세한 오류 보고서를 확인합니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-04(UTC)"],[[["\u003cp\u003eThis page details the process of connecting a Bitbucket Server repository to Cloud Build, allowing for automated builds upon code changes.\u003c/p\u003e\n"],["\u003cp\u003eBefore connecting, users must enable the Cloud Build, Secret Manager, and Compute Engine APIs, and also connect a Bitbucket Server host.\u003c/p\u003e\n"],["\u003cp\u003eConnecting a repository can be done through the Google Cloud console, where users must select their region, source code management provider, host connection, and specific repositories.\u003c/p\u003e\n"],["\u003cp\u003eAlternatively, users can connect a Bitbucket Server repository using the API, which involves using a JSON template and \u003ccode\u003ecurl\u003c/code\u003e commands to configure and verify the connection.\u003c/p\u003e\n"],["\u003cp\u003eOnce connected, Cloud Build configures a webhook on the repository, allowing it to send webhooks that invoke triggers when changes occur, and users can further manage webhooks to learn about troubleshooting them.\u003c/p\u003e\n"]]],[],null,["# Connect to a Bitbucket Server repository\n\nThis page explains how to connect to a [Bitbucket Server](https://confluence.atlassian.com/bitbucketserver/bitbucket-data-center-and-server-documentation-776639749.html) repository\nto Cloud Build.\n\nBefore you begin\n----------------\n\n-\n\n\n Enable the Cloud Build, Secret Manager, and Compute Engine APIs.\n\n\n [Enable the APIs](https://console.cloud.google.com/flows/enableapi?apiid=cloudbuild.googleapis.com,secretmanager.googleapis.com,compute.googleapis.com&redirect=https://cloud.google.com/build/docs/automating-builds/bitbucket/connect-repo-bitbucket-server)\n\n\u003c!-- --\u003e\n\n- Follow the instructions to [connect a Bitbucket Server host](/build/docs/automating-builds/bitbucket/connect-host-bitbucket-server) before connecting repositories.\n\nConnecting to a Bitbucket Server repository\n-------------------------------------------\n\n### Console\n\nTo connect a Bitbucket Server repository to Cloud Build\nusing the Google Cloud console:\n\n1. Open the **Repositories** page in the Google Cloud console.\n\n [Open the Repositories page](https://console.cloud.google.com/cloud-build/repositories)\n2. At the top of the page, select the **1st gen** tab.\n\n3. Click **Connect Repository**.\n\n4. Select **Bitbucket Server**.\n\n You will see the **Connect Repository** panel. Complete the following\n steps to connect your Bitbucket Server repository:\n 1. **Region**: Select a region your connection is in.\n\n 2. Under **Select source code management provider** , select **Bitbucket Server**.\n\n 3. **Host connection**: Select the name of your host connection from the drop-down menu.\n\n 4. Click **Continue**.\n\n 5. Under **Select Repository**, select the Bitbucket Server repositories\n you wish to connect to Cloud Build.\n\n 6. Once you have selected your Bitbucket Server account and repositories,\n read the consent disclaimer and select the checkbox next to it to indicate\n that you accept the presented terms.\n\n 7. Click **Connect** to connect your repositories.\n\n When a repository is connected, Cloud Build\n configures a webhook on the repository\n in your Bitbucket Server instance. The repository\n then sends webhooks to invoke the\n corresponding Bitbucket Server triggers when\n you make changes to your repository. A\n repository can also be connected multiple\n times with multiple host connections.\n To learn how to manage webhooks, see [Manage webhooks](https://confluence.atlassian.com/bitbucketserver/manage-webhooks-938025878.html#Managewebhooks-troubleshootingwebhooks).\n\n To locate the webhook, you need the webhook ID. The webhook ID\n for each connected repository can be found in the `BitbucketServerConfig`.\n\n Enter the following command to retrieve the webhook ID: \n\n gcloud alpha builds enterprise-config bitbucketserver describe \u003cvar translate=\"no\"\u003eCONFIG_NAME\u003c/var\u003e --region=\u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e\n\n Where:\n - \u003cvar translate=\"no\"\u003eCONFIG_NAME\u003c/var\u003e is the name of the Bitbucket Server config\n - \u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e is the region of the Bitbucket Server host connection\n5. Click **Done** . Optionally, click **Create a trigger** to create a trigger.\n\n### API\n\nTo connect your Bitbucket Server repository to Cloud Build\nusing the API, complete the following steps:\n\n1. Use the following JSON template below to connect your repository:\n\n {\n \"parent\": \"projects/\u003cvar translate=\"no\"\u003ePROJECT_NUMBER\u003c/var\u003e/locations/\u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e/bitbucketServerConfigs/\u003cvar translate=\"no\"\u003eBITBUCKET_SERVER_CONFIG_NAME\u003c/var\u003e\",\n \"requests\": {\n \"parent\": \"projects/\u003cvar translate=\"no\"\u003ePROJECT_NUMBER\u003c/var\u003e/locations/\u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e/bitbucketServerConfigs/\u003cvar translate=\"no\"\u003eBITBUCKET_SERVER_CONFIG_NAME\u003c/var\u003e\",\n \"bitbucketServerConnectedRepository\": {\n \"parent\": \"projects/\u003cvar translate=\"no\"\u003ePROJECT_NUMBER\u003c/var\u003e/locations/\u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e/bitbucketServerConfigs/\u003cvar translate=\"no\"\u003eBITBUCKET_SERVER_CONFIG_NAME\u003c/var\u003e\",\n \"repo\": {\n \"projectKey\": \"\u003cvar translate=\"no\"\u003ePROJECT_KEY\u003c/var\u003e\",\n \"repoSlug\": \"\u003cvar translate=\"no\"\u003eREPO_SLUG\u003c/var\u003e\"\n }\n }\n }\n }\n\n Where:\n - \u003cvar translate=\"no\"\u003ePROJECT_NUMBER\u003c/var\u003e is the project number of your Cloud project.\n - \u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e is the [region](/build/docs/locations) associated with your Bitbucket Server configuration.\n - \u003cvar translate=\"no\"\u003eBITBUCKET_SERVER_CONFIG_NAME\u003c/var\u003e is the name of your Bitbucket Server configuration.\n - \u003cvar translate=\"no\"\u003ePROJECT_KEY\u003c/var\u003e is the key of your Bitbucket Server project. If you want to connect a personal repository, your project key should contain the tilde (`~`) symbol before your username. For example, `~${USERNAME}`. The complete URL for a host repository may look like `https://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}`.\n - \u003cvar translate=\"no\"\u003eREPO_SLUG\u003c/var\u003e is the [slug](https://support.atlassian.com/bitbucket-cloud/docs/what-is-a-slug/) of your Bitbucket Server repository.\n2. Enter the following `curl` command in your terminal:\n\n curl -X POST -H \"Authorization: Bearer \"$(gcloud auth print-access-token) -H \"Content-Type: application/json; charset=utf-8\" -H \"x-goog-user-project: \u003cvar translate=\"no\"\u003ePROJECT_NUMBER\u003c/var\u003e\" https://cloudbuild.googleapis.com/v1/projects/\u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-n\"\u003ePROJECT_ID\u003c/span\u003e\u003c/var\u003e/locations/\u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-n\"\u003eREGION\u003c/span\u003e\u003c/var\u003e/bitbucketServerConfigs/\u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-n\"\u003eBITBUCKET_SERVER_CONFIG_NAME\u003c/span\u003e\u003c/var\u003e/connectedRepositories:batchCreate -d @requests.json\n\n Where:\n - \u003cvar translate=\"no\"\u003ePROJECT_NUMBER\u003c/var\u003e is your Cloud project number.\n - \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e is your Cloud project ID.\n - \u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e is the [region](/build/docs/locations) associated with your Bitbucket Server configuration.\n - \u003cvar translate=\"no\"\u003eBITBUCKET_SERVER_CONFIG_NAME\u003c/var\u003e is the name of your Bitbucket Server configuration.\n\n If successful, the response body contains a newly created instance of [Operation](https://cloud.google.com/build/docs/api/reference/rest/v1/operations#Operation).\n3. Enter the following `curl` command in your terminal:\n\n curl -X GET -H \"Authorization: Bearer \"$(gcloud auth print-access-token) -H \"Content-Type: application/json; charset=utf-8\" -H \"x-goog-user-project: \u003cvar translate=\"no\"\u003ePROJECT_NUMBER\u003c/var\u003e\" https://cloudbuild.googleapis.com/v1/projects/\u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-nt\"\u003ePROJECT_ID\u003c/span\u003e\u003c/var\u003e/locations/\u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-nt\"\u003eREGION\u003c/span\u003e\u003c/var\u003e/operations/\u003cvar translate=\"no\"\u003e\u003cspan class=\"devsite-syntax-nt\"\u003eOPERATION_ID\u003c/span\u003e\u003c/var\u003e\n\n Where:\n - \u003cvar translate=\"no\"\u003ePROJECT_NUMBER\u003c/var\u003e is your Cloud project number.\n - \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e is your Cloud project ID.\n - \u003cvar translate=\"no\"\u003eREGION\u003c/var\u003e is the [region](/build/docs/locations) associated with your Bitbucket Server configuration.\n - \u003cvar translate=\"no\"\u003eOPERATION_ID\u003c/var\u003e is the ID of your Bitbucket Server configuration creation operation. You can find the Operation ID in the `name` field of your response. The format of the `name` field in your response looks like the following: `projects/project-id/locations/region/operations/operation-id`.\n\n You may need to keep running the `GetOperation` API command until the response contains `done: true`, which indicates the operation is completed. If the Bitbucket Server repository is connected successfully, you can see the connected repository in the `response.bitbucketServerConnectedRepositories` field. Otherwise, see the `error` field for a detailed error report.\n\nWhat's next\n-----------\n\n- Learn how to [build repositories from Bitbucket Server](/build/docs/automating-builds/bitbucket/build-repos-from-bitbucket-server).\n- Learn how to [build repositories from Bitbucket Server in a private network](/build/docs/automating-builds/bitbucket/build-repos-from-bitbucket-server-private-network).\n- Learn how to [perform blue/green deployments on Compute Engine](/build/docs/deploying-builds/deploy-compute-engine)."]]