View a markdown version of this page

Bitbucket 應用程式連線 - AWS CodeBuild

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Bitbucket 應用程式連線

您可以使用 Bitbucket 與 CodeBuild 連線。透過 支援 Bitbucket 應用程式連線AWS CodeConnections

注意

CodeConnections 可在比 CodeBuild 更少的區域中使用。您可以在 CodeBuild 中使用跨區域連線。在選擇加入區域中建立的連線無法在其他區域中使用。如需詳細資訊,請參閱 AWS CodeConnections 端點和配額

步驟 1:建立與 Bitbucket 的連線 (主控台)

使用這些步驟來使用 CodeBuild 主控台為 Bitbucket 中的專案新增連線。

建立連至 Bitbucket 的連線
注意

您可以使用從另一個帳戶共用的連線,而不是在帳戶中建立或使用現有的連線 AWS 。如需詳細資訊,請參閱與 AWS 帳戶共用連線

步驟 2:授予 CodeBuild 專案 IAM 角色存取權以使用連線

您可以授予 CodeBuild 專案 IAM 角色存取權,以使用連線提供的 Bitbucket 權杖。

授予 CodeBuild 專案 IAM 角色存取權
  1. 遵循 CodeBuild 專案的 指示,為您的 CodeBuild 專案建立 允許 CodeBuild 與其他 AWS 服務互動 IAM 角色。

  2. 遵循指示時,將下列 IAM 政策新增至 CodeBuild 專案角色,以授予連線的存取權。

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "codeconnections:GetConnectionToken", "codeconnections:GetConnection" ], "Resource": [ "arn:aws:iam::*:role/Service*" ] } ] }

步驟 3:設定 CodeBuild 以使用新的連線

您可以將連線設定為帳戶層級登入資料,並在專案中使用它。

AWS 管理主控台
若要在 中將連線設定為帳戶層級登入資料 AWS 管理主控台
  1. 對於 Source provider (來源供應商),選擇 Bitbucket

  2. 對於登入資料,請執行下列其中一項操作:

    • 選擇預設來源登入資料,以使用您帳戶的預設來源登入資料套用至所有專案。

      1. 如果您未連線至 Bitbucket,請選擇管理預設來源憑證

      2. 針對登入資料類型,選擇 CodeConnections

      3. 連線中,選擇使用現有的連線或建立新的連線。

    • 選擇自訂來源登入資料,以使用自訂來源登入資料覆寫您帳戶的預設設定。

      1. 針對登入資料類型,選擇 CodeConnections

      2. 連線中,選擇使用現有的連線或建立新的連線。

AWS CLI
若要在 中將連線設定為帳戶層級登入資料 AWS CLI
  • 開啟終端機 (Linux、macOS 或 Unix) 或命令提示 (Windows)。使用 AWS CLI 執行 import-source-credentials命令,--token為您的連線指定 --auth-type--server-type和 。

    使用下列命令:

    aws codebuild import-source-credentials --auth-type CODECONNECTIONS --server-type BITBUCKET --token <connection-arn>

如需在 CodeBuild 專案中設定多個字符的詳細資訊,請參閱 將多個字符設定為來源層級登入資料

Bitbucket OAuth 輪換重新整理權杖

Atlassian 現在會強制執行 Bitbucket OAuth 的一次性輪換重新整理權杖。每次使用重新整理權杖時,Bitbucket 都會將其失效並傳回新的權杖。如需詳細資訊,請參閱 Atlassian 開發人員網站上的 Bitbucket OAuth 單次使用重新整理權杖 (CHANGE-3052)

Secrets Manager 儲存的登入資料所需的動作

如果您在 Secrets Manager 中存放 Bitbucket OAuth 登入資料,請將 secretsmanager:PutSecretValue許可新增至 CodeBuild 服務角色。使用此許可,CodeBuild 可以在每次權杖重新整理後,將更新的重新整理權杖寫回您的秘密。如果沒有此許可,字符重新整理後的下一個組建會失敗。

下列範例 IAM 政策陳述式會授予必要的許可:

{ "Effect": "Allow", "Action": "secretsmanager:PutSecretValue", "Resource": "arn:aws:secretsmanager:*:*:secret:codebuild/*" }

如果您使用 CodeBuild 受管選項,則不需要變更。CodeBuild 會自動處理字符輪換。

遷移至 AWS CodeConnections (建議)

我們建議遷移至 AWS CodeConnections 以進行 Bitbucket 整合。 AWS CodeConnections 使用單獨的授權機制,輪換重新整理權杖不會影響 。您不需要管理字符或新增許可。

若要遷移至 AWS CodeConnections,請完成下列步驟:

  1. 開啟開發人員工具主控台。選擇設定連線,然後選擇建立連線。選取 Bitbucket 做為提供者。

  2. 在 Bitbucket 工作區中授權 AWS CodeConnections 應用程式。這需要在 Bitbucket 中管理工作區許可。

  3. 將下列許可新增至 CodeBuild 服務角色: codeconnections:GetConnectionTokencodeconnections:GetConnection

  4. 將連線設定為您的預設登入資料:

    aws codebuild import-source-credentials --auth-type CODECONNECTIONS --server-type BITBUCKET --token <connection-arn>
  5. 所有使用預設登入資料切換的專案都會自動執行。個別更新使用自訂每個專案登入資料的專案。使用 主控台或 UpdateProject API。