連結 Bitbucket Cloud

本頁說明如何建立與 Bitbucket Cloud 的連線,以及如何建立 Bitbucket Cloud 存放區的連結。 您可以使用 Google Cloud 控制台或 Google Cloud CLI 完成這些工作。

以下操作說明適用於應用程式開發人員、平台管理員和安全管理員,他們想搭配 Google 使用 Bitbucket Cloud 原始碼存放區。具體來說,您可以搭配 Gemini Code Assist 使用 Bitbucket Cloud 存放區。

如要進一步瞭解 Developer Connect,請參閱這篇文章

事前準備

  1. 登入 Google 帳戶。

    如果沒有帳戶,請 申請新帳戶

  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Developer Connect API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Developer Connect API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. 啟用 Developer Connect 時,系統也會啟用 Secret Manager API

  9. 確認您有 Bitbucket Cloud 帳戶的存取權。

    為確保團隊工作安全,建議您使用機器人帳戶或團隊共用的帳戶,完成本指南中的工作,而非個人帳戶。

  10. 確認您擁有 Bitbucket Cloud 存放區,或對共用存放區具備管理員層級的權限。
  11. 選用:建立客戶自行管理的加密金鑰 (CMEK),用於加密 Developer Connect 建立的驗證密鑰。
  12. 選用:如要使用本指南中的指令列操作說明,請完成下列步驟:
    1. 安裝 Google Cloud CLI。如果您先前已安裝 gcloud CLI,請執行 gcloud components update,確認您擁有最新版本。
    2. 執行下列指令,建立 Developer Connect 服務帳戶,其中的 PROJECT_ID 是您的Google Cloud 專案 ID
              gcloud beta services identity create \
                  --service=developerconnect.googleapis.com \
                  --project=PROJECT_ID
              

必要的角色

如要取得建立連線和連結所需的權限,請要求管理員授予您下列 IAM 角色:

  • 如果您不是專案擁有者: 使用者帳戶的開發人員連線管理員 (roles/developerconnect.admin) 。
  • 如果您打算使用 CMEK 加密 Developer Connect 建立的密鑰: Secret Manager 服務帳戶的「Cloud KMS CryptoKey Encrypter/Decrypter」(Cloud KMS 加密編譯金鑰加密者/解密者) (roles/cloudkms.cryptoKeyEncrypterDecrypter) 。
  • 如果您打算使用 gcloud CLI 完成本指南中的步驟: Developer Connect 服務帳戶的Secret Manager 管理員角色 (roles/secretmanager.admin)。
  • 如果您打算使用 Google Cloud 控制台完成本指南中的步驟: 專案 IAM 管理員 (roles/resourcemanager.projectIamAdmin) 使用者帳戶。

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

建立存取權杖

如要在 Bitbucket Cloud 中建立個人存取權杖,請完成下列步驟:

  1. 登入 Bitbucket Cloud

  2. 請完成下列步驟,在 Bitbucket Cloud 中建立兩個存取權杖。這些權杖可以是存放區存取權杖專案存取權杖工作區存取權杖

    1. 請選擇要使用的存取權杖類型,然後按照相關操作說明進行:

    2. 使用下列範圍建立第一個權杖:

      • 存放區讀取
      • 提取要求讀取
      • Webhook讀取寫入

      在 Developer Connect 中,這稱為「授權者存取權杖」

    3. 使用下列範圍建立第二個權杖:

      • 存放區讀取

      在 Developer Connect 中,這稱為您的 讀取存取權杖

    您必須負責管理 Bitbucket Cloud 中的權杖生命週期。Bitbucket Cloud 權杖不會過期,在您撤銷前都會有效。

    部分類型的 Bitbucket 權杖是付費方案專屬的進階功能。詳情請參閱「Bitbucket Cloud 權杖」。

  3. 複製存取權杖,以供後續程序使用。

建立連線

本節說明如何建立 Developer Connect 與 Bitbucket Cloud 之間的連線。如果您使用 Google Cloud 控制台,也可以在完成連線設定後,開始將連結新增至存放區。

如要建立新的 Bitbucket Cloud 連線,請選取下列任一選項:

控制台

請完成下列步驟來啟動連線:

  1. 在 Google Cloud 控制台中開啟「Developer Connect」

    前往 Developer Connect

    Developer Connect 會顯示「Git 存放區」頁面。

    • 如果看到原始碼管理服務供應商清單:選取原始碼管理服務供應商,開始設定第一個連線。按一下 Bitbucket Cloud 資訊卡上的「連結」
    • 如果看到列出現有連線的表格:按一下「建立連線」 >「Bitbucket Cloud」,設定原始碼管理服務供應商。

      「建立連線」頁面隨即開啟。

  2. 在「Region」(區域),為連線資源選擇區域

    1. 在「Name」(名稱) 部分,輸入新連線的名稱。
  3. 如果是 Workspace,請輸入 Bitbucket Cloud 工作區 ID

  4. 在「存取權杖」部分,輸入 Bitbucket Cloud 存取權杖:

  5. 按一下「顯示更多」即可查看選用設定。

    1. 選用步驟:在「Encryption」(加密) 部分中,選取 CMEK 金鑰,加密 Developer Connect 建立的 Secret Manager 密鑰。

    2. 選用:根據預設,Developer Connect 可做為 Proxy,對 Bitbucket Cloud 執行 Git 呼叫。如要停用這個選項,請取消勾選「啟用 Developer Connect Proxy」核取方塊。

  6. 如要完成連線設定,請按一下「繼續」按鈕。

    Developer Connect 會建立連線。這項程序會在幾秒內完成。

連線建立完成後,系統會顯示「連結存放區」頁面。

如要將存放區連結至連線,請完成下列步驟:

  1. 在可用存放區清單中,選取要使用的存放區。

  2. 按一下 [確定]

  3. 按一下「Link」(連結)

連結會新增至「連線」頁面,存放區連結則會新增至 Google Cloud 控制台的「存放區」頁面。您可以隨時在現有連結中新增更多連結

如要設定 Gemini Code Assist,請按照「設定及使用 Gemini Code Assist 程式碼自訂功能」一文中的步驟,繼續完成設定程序。

gcloud

  1. 在 Secret Manager 中執行下列指令,建立 Webhook 密鑰,其中 WEBHOOK_SECRET_NAME 是 Webhook 密鑰的名稱:

    cat /proc/sys/kernel/random/uuid | tr -d '\n' | gcloud secrets create WEBHOOK_SECRET_NAME
    
  2. 執行下列指令,將個人存取權杖儲存於 Secret Manager:

    gcloud secrets create AUTHORIZER_SECRET_NAME
    
    echo -n AUTHORIZER_SECRET_DATA | gcloud secrets versions add AUTHORIZER_SECRET_NAME --data-file=-
    
    gcloud secrets create READ_SECRET_NAME
    
    echo -n READ_SECRET_DATA | gcloud secrets versions add READ_SECRET_NAME --data-file=-
    

    更改下列內容:

    • AUTHORIZER_SECRET_NAME:Secret 名稱,Secret Manager 會將授權者存取權杖儲存在這個 Secret 中。
    • AUTHORIZER_SECRET_DATA:授權方存取權杖。
    • READ_SECRET_NAME:Secret 名稱,Secret Manager 會將讀取存取權權杖儲存在這個 Secret 中。
    • READ_SECRET_DATA:讀取存取權權杖。
  3. 執行 gcloud developer-connect connections create 指令,建立與 Bitbucket Cloud 的連線:

    gcloud developer-connect connections create CONNECTION_NAME \
        --location=REGION \
        --bitbucket-cloud-config-authorizer-credential-user-token-secret-version=projects/PROJECT_ID/secrets/AUTHORIZER_SECRET_NAME/versions/VERSION \
        --bitbucket-cloud-config-read-authorizer-credential-user-token-secret-version=projects/PROJECT_ID/secrets/READ_SECRET_NAME/versions/VERSION \
        --bitbucket-cloud-config-webhook-secret-version=projects/PROJECT_ID/secrets/WEBHOOK_SECRET_NAME/versions/VERSION
        --git-proxy-config-enabled
    

    更改下列內容:

    • CONNECTION_NAME:連線名稱。
    • REGION:連線要使用的區域
    • PROJECT_ID:您的 Google Cloud 專案 ID
    • AUTHORIZER_SECRET_NAME:Secret Manager 密鑰的名稱,其中包含來自 Bitbucket Cloud 的授權者層級權杖。
    • READ_SECRET_NAME:Secret Manager 密鑰的名稱,其中包含 Bitbucket Cloud 的唯讀權杖。
    • WEBHOOK_SECRET_NAME:包含 Webhook 密鑰的 Secret Manager Secret 名稱。
    • VERSION:各個密鑰的版本號碼。這項設定可latest使用最新版本號碼。
    • --git-proxy-config-enabled:選用標記,可讓 Developer Connect 做為 Proxy,對 Bitbucket Cloud 執行 Git 呼叫。這項功能為預先發布版

    Developer Connect 會完成與 Bitbucket Cloud 的連線。接著連結至存放區

建立與 Bitbucket Cloud 的連線後,即可連結至存放區。之後可以視需要重複這些步驟,連結其他存放區。

如要在現有的 Bitbucket Cloud 連線中建立存放區連結,請選取下列任一選項:

控制台

完成下列步驟,建立存放區的連結:

  1. 在 Google Cloud 控制台中開啟「Repositories」(存放區) 頁面。

    開啟「Repositories」(存放區) 頁面

  2. 按一下「連結存放區」

    「連結 Git 存放區」窗格隨即開啟。

  3. 在連線清單中選擇連線。

  4. 按一下「繼續」

  5. 在存放區清單中,選取要連結的存放區。

    Developer Connect 會顯示存放區資源的建議名稱。

  6. 選取存放區資源命名選項:

    • 產生:使用產生的存放區資源名稱。
    • 手動:自行輸入名稱。
  7. 點選「建立」

    Developer Connect 會建立存放區連結,並顯示在 Google Cloud 控制台中。

gcloud

執行下列指令,建立 Bitbucket Cloud 存放區的連結:

gcloud developer-connect connections git-repository-links create REPO_NAME \
    --clone-uri=REPO_URI \
    --connection=CONNECTION_NAME \
    --location=REGION

更改下列內容:

  • REPO_NAME:Developer Connect 與 Bitbucket Cloud 存放區之間的新連結名稱。
  • REPO_URI:Bitbucket Cloud 中存放區的網址,包括 https:// 前置字串和 .git 後置字串。
  • CONNECTION_NAME:與 Bitbucket Cloud 的連線名稱。
  • REGION:連線的區域。

Developer Connect 會建立存放區連結。

如要列出已連結的存放區,請執行 developer-connect connections git-repository-linkslist 指令。

如要設定 Gemini Code Assist,請按照「設定及使用 Gemini Code Assist 程式碼自訂功能」一文中的步驟,繼續完成設定程序。

後續步驟