Bitbucket 서버에서 저장소 빌드

Cloud Build를 사용하면 Bitbucket 서버에 호스팅되는 저장소에서 빌드할 트리거를 만들 수 있습니다. 이에 따라 Bitbucket 서버 저장소와 연관된 커밋 push 또는 pull 요청과 같은 이벤트에 대한 응답으로 빌드를 실행할 수 있습니다.

이 페이지에서는 Bitbucket 서버 인스턴스에서 트리거 기능을 사용 설정하는 방법과 인스턴스가 온프레미스 환경에서 호스팅되는 경우 Bitbucket 서버에서 저장소를 빌드하는 방법을 설명합니다.

시작하기 전에

  • API Cloud Build, Secret Manager, and Compute Engine 사용 설정

    API 사용 설정

  • Bitbucket 서버 인스턴스를 설치하지 않았으면 Bitbucket 서버 설치 가이드의 안내를 참조하세요.
  • [선택사항] Bitbucket 서버 인스턴스가 온프레미스 환경에서 호스팅되는 경우 Service Networking API가 Virtual Private Cloud 네트워크를 피어링하도록 사용 설정합니다.

설정

Bitbucket 서버 트리거를 만들기 전에 Bitbucket 서버에서 들어오는 이벤트를 인증 및 수락하는 API 키를 받아야 합니다. 또한 웹훅을 만들고 저장소 데이터를 검색하려면 Bitbucket 서버에서 트리거 및 개인 액세스 토큰을 만들 수 있도록 Google Cloud 프로젝트에 IAM 권한을 부여해야 합니다.

이 섹션에서는 Bitbucket 서버 트리거를 만들기 전에 완료해야 하는 단계를 설명합니다.

API 키 얻기

호스트 저장소를 연결하고 수신 웹훅 이벤트를 인증하려면 API 키가 필요합니다.

API 키를 가져오려면 다음 안내를 따르세요.

  1. Google Cloud Console의 사용자 인증 정보 페이지를 엽니다.

    사용자 인증 정보 페이지 열기

  2. 사용자 인증 정보 만들기를 클릭합니다.

  3. API 키를 클릭합니다.

    API 키가 생성된 대화상자가 표시됩니다. API 키를 기록해 둡니다.

  4. 제품 애플리케이션에 대해 키를 제한하려면 키 제한을 클릭하여 키 보호를 위한 추가 단계를 완료합니다. 그렇지 않으면 닫기를 클릭합니다.

    키를 제한하는 방법을 알아보려면 API 키 제한 적용을 참조하세요.

필수 IAM 권한

Bitbucket 서버 호스트를 연결하려면 Cloud Build 편집자(roles/cloudbuild.builds.editor) 역할과 Cloud Build 통합 소유자(cloudbuild.integrations.owner) 역할을 사용자 계정에 부여합니다.

사용자 계정에 필요한 역할을 추가하려면 Cloud Build 리소스에 대한 액세스 구성을 참조하세요. Cloud Build와 연관된 IAM 역할에 대한 자세한 내용은 IAM 역할 및 권한을 참조하세요.

개인 액세스 토큰 만들기

다음 태스크를 수행하려면 Bitbucket 서버에서 두 개의 개인 액세스 토큰을 만들어야 합니다.

이러한 개인 액세스 토큰은 필요한 최소 권한입니다. 필요한 경우 Bitbucket 서버에서 추가 권한을 구성해야 할 수 있습니다. 예를 들어 Bitbucket 서버 계정을 선택하면 Bitbucket 서버 인스턴스의 저장소 하위 집합에만 액세스할 수 있으므로 Cloud Build에서 사용할 수 있는 항목을 세부적으로 제어할 수 있습니다.

개인 액세스 토큰을 만들었으면 토큰 값을 안전하게 보관합니다. 나중에 이러한 토큰을 사용하여 Bitbucket 서버 저장소에 연결합니다.

Bitbucket 서버에서 트리거 호출

이 섹션에서는 Bitbucket 서버 저장소를 Cloud Build에 연결하고 연결된 저장소에서 빌드를 자동으로 호출하기 위해 트리거를 만드는 방법을 설명합니다. 온프레미스 환경에서 Bitbucket 서버 트리거를 사용하려면 Bitbucket 서버로부터 온프레미스 환경에서 저장소 빌드의 추가 안내를 참조하세요.

Bitbucket 서버 호스트에 연결

Console

Google Cloud Console을 사용하여 Bitbucket 서버 호스트를 Cloud Build에 연결하려면 다음 안내를 따르세요.

  1. Google Cloud Console에서 저장소 관리 페이지를 엽니다.

    저장소 관리 페이지 열기

  2. 호스트 연결을 클릭합니다.

    호스트 연결 패널이 표시됩니다.

    다음 정보를 입력하여 Bitbucket 서버 인스턴스를 Cloud Build에 연결합니다.

    • 호스트 URL: Bitbucket 서버 인스턴스의 호스트 URL입니다. 예를 들면 https://bbs.example-test.com:7990입니다.
    • Google Cloud API 키: 사용자 인증 정보를 인증하는 데 사용되는 API 키입니다.
    • [선택사항] CA 인증서: 자체 서명 인증서입니다. 인증서 크기는 10KB를 초과할 수 없으며 PEM 형식(.pem, .cer, .crt)이어야 합니다. 이 섹션을 비워 두면 기본 인증서 집합이 사용됩니다.

    • 사용자 이름: Bitbucket 서버 계정 사용자 이름입니다. 이 계정에는 Cloud Build와 연결할 저장소에 대한 관리자 액세스 권한이 있어야 합니다.

    • 읽기 액세스 토큰: 읽기 권한이 있는 Bitbucket 서버 계정 개인 액세스 토큰입니다.

    • 관리자 액세스 토큰: 프로젝트 및 저장소에 대한 관리자 권한이 있는 Bitbucket 서버 계정 개인 액세스 토큰입니다.

    • [선택사항] 네트워크 프로젝트: 온프레미스 네트워크의 네트워크 프로젝트 ID입니다.

    • [선택사항] 네트워크 이름: 온프레미스 네트워크의 네트워크 이름입니다.

  3. 호스트 연결을 클릭합니다.

    Bitbucket 서버 인스턴스가 피어링된 네트워크에 있다면 호스트를 연결하는 데 몇 분 정도 걸릴 수 있습니다.

    저장소 연결 패널로 리디렉션됩니다.

    호스트 연결을 만든 후 개인 액세스 토큰과 웹훅 보안 비밀은 Secret Manager에 안전하게 저장됩니다. Secret Manager 페이지에서 보안 비밀을 보고 관리할 수 있습니다.

gcloud

gcloud 명령어를 사용하여 Bitbucket 서버 호스트를 Cloud Build에 연결하려면 터미널에서 gcloud alpha builds enterprise-config bitbucketserver create 명령어를 실행해야 합니다. Google Cloud Console을 사용하여 호스트를 연결하는 것과 달리 다음 명령어를 실행하기 전에 개인 액세스 토큰과 웹훅 보안 비밀을 수동으로 Secret Manager에 저장해야 합니다.

gcloud alpha builds enterprise-config bitbucketserver create
    --name=BITBUCKET_SERVER_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 \
    --ssl-ca-file=SSL_CA_FILE

각 항목의 의미는 다음과 같습니다.

  • BITBUCKET_SERVER_CONFIG_NAME은 Bitbucket 서버 구성의 이름입니다.
  • USERNAME은 Bitbucket 서버 사용자 이름입니다.
  • HOST_URI는 Bitbucket 서버 인스턴스의 호스트 URI입니다.
  • ADMIN_ACCESS_TOKEN_SECRET_VERSION은 Secret Manager에 저장된 관리 액세스 토큰의 리소스 이름입니다. Secret Manager에 저장된 보안 비밀에 필요한 형식은 projects/${PROJECT_ID}/secrets/${SECRET_NAME}/versions/${VERSION_NUMBER}입니다. 보안 비밀의 최신 버전을 사용하도록 latest를 버전으로 지정할 수 있습니다. 이는 Secret Manager에 저장된 각 리소스에 적용됩니다.
  • READ_ACCESS_TOKEN_SECRET_VERSION은 Secret Manager에 저장된 읽기 액세스 토큰의 리소스 이름입니다.
  • WEBHOOK_SECRET_SECRET_VERSION은 Secret Manager에 저장된 웹훅 보안 비밀의 리소스 이름입니다.
  • API_KEY는 Google Cloud API 키입니다.
  • [선택사항] PEERED_NETWORK는 온프레미스 Bitbucket 서버 인스턴스가 연결할 VPC 네트워크입니다.
  • SSL_CA_FILE는 Bitbucket 서버 요청에 사용할 SSL 인증서가 포함된 로컬 파일의 경로입니다. 인증서는 PEM 형식이어야 합니다.

API

API를 사용하여 Bitbucket 서버 호스트를 Cloud Build에 연결하려면 다음 JSON 템플릿을 사용합니다. Google Cloud Console을 사용하여 호스트를 연결하는 것과 달리 API를 호출하기 전에 개인 액세스 토큰과 웹훅 보안 비밀을 Secret Manager에 수동으로 저장해야 합니다.

  {
      "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,
      "sslCa": SSL_CERTIFICATE
  }

각 항목의 의미는 다음과 같습니다.

  • HOST_URI는 Bitbucket 서버 인스턴스의 호스트 URI입니다.
  • USERNAME은 Bitbucket 서버 사용자 이름입니다.
  • API_KEY는 Google Cloud API 키입니다.
  • ADMIN_ACCESS_TOKEN_SECRET_VERSION은 Secret Manager에 저장된 관리 액세스 토큰의 리소스 이름입니다. Cloud Build 서비스 계정(service-${PROJECT_NUMBER}@gcp-sa-cloudbuild.iam.gserviceaccount.com)에 Secret Manager 역할을 부여해야 할 수 있습니다. 자세한 내용은 서비스 계정에 Secret Manager 역할 부여를 참조하세요.

  • READ_ACCESS_TOKEN_SECRET_VERSION은 Secret Manager에 저장된 읽기 액세스 토큰의 리소스 이름입니다.

  • WEBHOOK_SECRET_SECRET_VERSION은 Secret Manager에 저장된 웹훅 보안 비밀의 리소스 이름입니다.

  • [선택사항] PEERED_NETWORK는 Bitbucket 서버 인스턴스 온프레미스에 피어링할 VPC 네트워크입니다.

  • [선택사항] SSL_CERTIFICATE는 Bitbucket 서버 인스턴스 온프레미스에 사용되는 SSL 인증서입니다.

터미널에 다음 curl 명령어를 입력합니다.

  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/locations/global/bitbucketServerConfigs/?bitbucketServerConfigId=BITBUCKET_SERVER_CONFIG_NAME -d @config.json

각 항목의 의미는 다음과 같습니다.

  • PROJECT_NUMBER는 클라우드 프로젝트 번호입니다.
  • PROJECT_ID는 Cloud 프로젝트 ID입니다.
  • BITBUCKET_SERVER_CONFIG_NAME은 Bitbucket 서버 구성의 이름입니다.

요청이 성공하면 응답 본문에 새로 생성된 Operation의 인스턴스가 포함됩니다.

터미널에 다음 curl 명령어를 입력합니다.

  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/global/operations/OPERATION_ID

각 항목의 의미는 다음과 같습니다.

  • PROJECT_NUMBER는 클라우드 프로젝트 번호입니다.
  • PROJECT_ID는 Cloud 프로젝트 ID입니다.
  • OPERATION_ID는 Bitbucket 서버 구성 만들기 작업의 ID입니다.

작업이 완료되었음을 나타내는 done: true가 포함될 때까지 GetOperation API 명령어를 계속 실행해야 할 수 있습니다. Bitbucket 서버 구성이 성공적으로 생성되면 response.value 필드에서 구성을 볼 수 있습니다. 그렇지 않은 경우 error 필드를 참조하여 자세한 오류 보고서를 확인합니다.

Bitbucket 서버 저장소에 연결

Console

Google Cloud Console을 사용하여 Bitbucket 서버 저장소를 Cloud Build에 연결하려면 다음 안내를 따르세요.

  1. Google Cloud Console에서 트리거 페이지를 엽니다.

    트리거 페이지 열기

  2. 저장소 연결을 클릭합니다.

    저장소 연결 패널이 표시됩니다.

  3. 소스 선택에서 Bitbucket 서버를 선택합니다.

  4. 저장소 선택에서 Cloud Build에 연결할 Bitbucket 서버 저장소를 선택합니다.

  5. 연결을 클릭하여 저장소를 연결합니다.

    저장소가 연결되면 Cloud Build가 Bitbucket 서버 인스턴스의 저장소에 웹훅을 구성합니다. 그런 다음 저장소는 웹훅을 전송하여 저장소를 변경할 때 해당 Bitbucket 서버 트리거를 호출합니다. 저장소는 여러 호스트 연결로 여러 번 연결될 수도 있습니다. 웹훅을 관리하는 방법은 웹훅 관리를 참조하세요.

    웹훅을 찾으려면 웹훅 ID가 필요합니다. 연결된 각 저장소의 웹훅 ID는 BitbucketServerConfig에서 확인할 수 있습니다. 다음 명령어를 입력하여 웹훅 ID를 검색합니다. 여기서 CONFIG_NAME은 Bitbucket 서버 구성의 이름입니다.

    gcloud alpha builds enterprise-config bitbucketserver describe --config=CONFIG_NAME
    
  6. 완료를 클릭합니다. 선택적으로 트리거 만들기를 클릭하여 트리거를 만듭니다.

API

API를 사용하여 Bitbucket 서버 저장소를 Cloud Build에 연결하려면 다음 JSON 템플릿을 사용합니다.

  {
    "parent": "projects/PROJECT_NUMBER/locations/global/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME",
    "requests": {
      "parent": "projects/PROJECT_NUMBER/locations/global/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME",
      "bitbucketServerConnectedRepository": {
        "parent": "projects/PROJECT_NUMBER/locations/global/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME",
        "repo": {
           "projectKey": "PROJECT_KEY",
           "repoSlug": "REPO_SLUG"
         }
       }
    }
  }

각 항목의 의미는 다음과 같습니다.

  • PROJECT_NUMBER는 Cloud 프로젝트의 프로젝트 번호입니다.
  • BITBUCKET_SERVER_CONFIG_NAME은 Bitbucket 서버 구성의 이름입니다.
  • PROJECT_KEY는 Bitbucket 서버 프로젝트의 키입니다. 개인 저장소를 연결하려면 프로젝트 키에 사용자 이름 앞에 물결표(~) 기호가 포함되어 있어야 합니다. ~${USERNAME}). 호스트 저장소의 전체 URL은 https://${HOST_URI}/projects/~${USER_NAME}/repos/${REPO_SLUG}와 같습니다.
  • REPO_SLUG는 Bitbucket 서버 저장소의 슬러그입니다.

터미널에 다음 curl 명령어를 입력합니다.

  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/locations/global/bitbucketServerConfigs/BITBUCKET_SERVER_CONFIG_NAME/connectedRepositories:batchCreate -d @requests.json

각 항목의 의미는 다음과 같습니다.

  • PROJECT_NUMBER는 클라우드 프로젝트 번호입니다.
  • PROJECT_ID는 Cloud 프로젝트 ID입니다.
  • BITBUCKET_SERVER_CONFIG_NAME은 Bitbucket 서버 구성의 이름입니다.

요청이 성공하면 응답 본문에 새로 생성된 Operation의 인스턴스가 포함됩니다.

터미널에 다음 curl 명령어를 입력합니다.

  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/global/operations/OPERATION_ID

각 항목의 의미는 다음과 같습니다.

  • PROJECT_NUMBER는 클라우드 프로젝트 번호입니다.
  • PROJECT_ID는 Cloud 프로젝트 ID입니다.
  • OPERATION_ID는 Bitbucket 서버 구성 만들기 작업의 ID입니다.

작업이 완료되었음을 나타내는 done: true가 포함될 때까지 GetOperation API 명령어를 계속 실행해야 할 수 있습니다. Bitbucket 서버 저장소가 성공적으로 연결되면 response.bitbucketServerConnectedRepositories 필드에 연결된 저장소를 볼 수 있습니다. 그렇지 않은 경우 error 필드를 참조하여 자세한 오류 보고서를 확인합니다.

Bitbucket 서버 트리거 만들기

Console

Google Cloud Console을 사용하여 Bitbucket 서버 트리거를 만들려면 다음 안내를 따르세요.

  1. 트리거 페이지 열기:

    트리거 페이지 열기

  2. 페이지 상단에서 프로젝트를 선택하고 열기를 클릭합니다.

  3. 트리거 만들기를 클릭합니다.

  4. 다음 트리거 설정을 입력합니다.

    • 이름: 트리거의 이름입니다.

    • 리전: 트리거의 리전을 선택합니다.

    • 설명(선택사항): 트리거에 대한 설명입니다.

    • 이벤트: 트리거를 호출할 저장소 이벤트를 선택합니다.

      • 분기로 푸시: 특정 분기에 대한 커밋에서 빌드를 시작하도록 트리거를 설정합니다.

      • 새 태그 푸시: 특정 태그가 포함된 커밋에서 빌드를 시작하도록 트리거를 설정합니다.

      • pull 요청(Cloud Source Repositories 지원되지 않음): pull 요청에 대한 커밋에서 빌드를 시작하도록 트리거를 설정합니다.

    • 소스: Bitbucket 서버 트리거가 실행될 때 빌드할 저장소를 선택합니다.

    • 버전: Bitbucket 서버 트리거가 실행될 때 빌드할 분기 또는 태그를 선택합니다.

    • 분기: 이 분기에서 빌드할 트리거를 설정합니다.

    • 태그: 이 태그에 빌드할 트리거를 설정합니다.

    • 구성: 저장소에 있는 빌드 구성 파일을 선택하거나 트리거에서 빌드를 인라인으로 구성합니다.

    • 유형: 빌드에 사용할 구성의 유형을 선택합니다.

      • Cloud Build 구성 파일(yaml 또는 json): 구성에 대해 빌드 구성 파일을 사용합니다.
      • Dockerfile: 해당 구성에 Dockerfile을 사용합니다.
    • 위치: 구성의 위치를 지정합니다.

      • 저장소: 구성 파일이 저장소에 있으면 빌드 구성 파일의 위치 또는 Dockerfile 디렉터리 및 결과 이미지의 이름을 제공합니다. 구성이 Dockerfile이면 선택적으로 빌드에 대해 제한 시간을 제공할 수 있습니다. Dockerfile과 이미지 이름을 제공하면, 빌드가 실행할 docker build 명령어의 미리보기가 표시됩니다.

      • 인라인: Cloud Build 구성 파일(yaml 또는 json)을 구성 옵션으로 선택한 경우 빌드 구성을 인라인으로 지정할 수 있습니다. YAML 또는 JSON 구문을 사용하여 Google Cloud Console에서 빌드 구성 파일을 작성하려면 편집기 열기를 클릭합니다. 빌드 구성을 저장하려면 완료를 클릭합니다.

  5. 만들기를 클릭하여 Bitbucket 서버 트리거를 만듭니다.

gcloud

gcloud 명령어를 사용하여 Bitbucket 서버를 만들려면 터미널에서 다음 gcloud alpha builds triggers create bitbucketserver 명령어를 실행해야 합니다.

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

각 항목의 의미는 다음과 같습니다.

  • TRIGGER_NAME은 트리거의 이름입니다.
  • PROJECT_KEY는 Bitbucket 서버 프로젝트의 키입니다.
  • REPO_SLUG는 Bitbucket 서버 저장소의 슬러그입니다.
  • PROJECT_NUMBER는 Cloud 프로젝트의 프로젝트 번호입니다.
  • ID는 BitbucketServerConfig의 ID입니다.
  • BRANCH_NAME은 특정 분기를 빌드하도록 트리거를 설정하려는 경우 분기의 정규식입니다.
  • TAG_NAME은 특정 태그를 빌드하도록 트리거를 설정하려는 경우 태그의 정규식입니다.
  • BUILD_CONFIG는 빌드 구성 파일의 경로입니다.

API

API로 Bitbucket 서버 트리거를 만들려면 다음 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/global/bitbucketServerConfigs/ID"
      }
  }

각 항목의 의미는 다음과 같습니다.

  • PROJECT_KEY는 Bitbucket 서버 프로젝트의 키입니다.
  • REPO_SLUG는 Bitbucket 서버 저장소의 슬러그입니다.
  • PROJECT_NUMBER는 Cloud 프로젝트의 프로젝트 번호입니다.
  • ID는 BitbucketServerConfig의 ID입니다.
  • BRANCH_NAME은 특정 분기를 빌드하도록 트리거를 설정하려는 경우 분기의 정규식입니다.
  • TAG_NAME은 특정 태그를 빌드하도록 트리거를 설정하려는 경우 태그의 정규식입니다.

터미널에 다음 curl 명령어를 입력합니다.

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

각 항목의 의미는 다음과 같습니다.

  • PROJECT_NUMBER는 클라우드 프로젝트 번호입니다.
  • PROJECT_ID는 Cloud 프로젝트 ID입니다.

Bitbucket 서버에서 온프레미스 환경에 저장소 빌드

Bitbucket 서버 인스턴스가 온프레미스 환경에서 호스팅되지만 공개 인터넷 연결을 통해 연결할 수 없는 경우에는 VPC 네트워크와 서비스 제작자 네트워크 간에 비공개 연결을 만들어야 합니다. 또한 온프레미스 환경에서 빌드하려면 비공개 풀이 필요합니다.

온프레미스 환경에서 빌드할 Bitbucket 서버 트리거를 만들려면 다음 안내를 따르세요.

  1. 다음 단계를 완료하여 VPC 네트워크와 서비스 제작자 네트워크 간에 비공개 연결을 만듭니다.

    1. Service Networking API를 사용 설정합니다.
    2. 새 VPC 네트워크를 만들거나 기존 VPC 네트워크를 선택합니다.

    3. VPC 네트워크에서 이름이 지정된 IP 범위를 할당합니다. Cloud Build에서 VPC 네트워크를 사용하려면 프리픽스 길이가 /23 이하여야 합니다(예: /22, /21 등).

    4. VPC 네트워크와 Google Cloud 간에 VPC 네트워크 비공개 연결을 설정합니다. 자세한 내용은 비공개 연결 만들기를 참조하세요.

    5. Bitbucket 서버 인스턴스에 DNS가 구성되어 있으면 DNS 영역을 수동으로 Google 서비스 제공업체에 피어링해야 합니다. 자세한 내용은 서비스 제작자와 비공개 DNS 영역 공유를 참조하세요.

    6. [선택사항] Cloud 프로젝트에서 비공개 연결을 만들지 않으려면 공유 VPC를 설정하면 됩니다. 그러면 프로젝트가 조직에 속한 경우 Cloud 프로젝트에서 이 네트워크를 대신 사용합니다. 하지만 여전히 공유 VPC를 Service Networking API에 피어링해야 합니다.

  2. 비공개 풀을 사용하여 빌드를 실행합니다. 비공개 풀을 만들지 않았으면 새 비공개 풀 만들기를 참조하세요.

  3. Bitbucket 서버 트리거를 만들어 Bitbucket 서버 인스턴스에서 호스팅되는 저장소를 빌드합니다.

이제 Bitbucket 서버 트리거가 구성에 따라 Bitbucket 서버 인스턴스의 빌드를 자동으로 호출합니다. 비공개 풀을 사용하여 빌드를 실행하는 방법은 비공개 풀에서 빌드 실행을 참조하세요.

다음 단계