本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Bitbucket 應用程式連線
您可以使用 Bitbucket 與 CodeBuild 連線。透過 支援 Bitbucket 應用程式連線AWS CodeConnections。
注意
CodeConnections 可在比 CodeBuild 更少的區域中使用。您可以在 CodeBuild 中使用跨區域連線。在選擇加入區域中建立的連線無法在其他區域中使用。如需詳細資訊,請參閱 AWS CodeConnections 端點和配額。
主題
步驟 1:建立與 Bitbucket 的連線 (主控台)
使用這些步驟來使用 CodeBuild 主控台為 Bitbucket 中的專案新增連線。
建立連至 Bitbucket 的連線
-
請遵循開發人員工具使用者指南中建立 Bitbucket 連線的說明。
注意
您可以使用從另一個帳戶共用的連線,而不是在帳戶中建立或使用現有的連線 AWS 。如需詳細資訊,請參閱與 AWS 帳戶共用連線。
步驟 2:授予 CodeBuild 專案 IAM 角色存取權以使用連線
您可以授予 CodeBuild 專案 IAM 角色存取權,以使用連線提供的 Bitbucket 權杖。
授予 CodeBuild 專案 IAM 角色存取權
-
遵循 CodeBuild 專案的 指示,為您的 CodeBuild 專案建立 允許 CodeBuild 與其他 AWS 服務互動 IAM 角色。
-
遵循指示時,將下列 IAM 政策新增至 CodeBuild 專案角色,以授予連線的存取權。
步驟 3:設定 CodeBuild 以使用新的連線
您可以將連線設定為帳戶層級登入資料,並在專案中使用它。
如需在 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,請完成下列步驟:
-
開啟開發人員工具主控台。選擇設定、連線,然後選擇建立連線。選取 Bitbucket 做為提供者。
-
在 Bitbucket 工作區中授權 AWS CodeConnections 應用程式。這需要在 Bitbucket 中管理工作區許可。
-
將下列許可新增至 CodeBuild 服務角色:
codeconnections:GetConnectionToken和codeconnections:GetConnection。 -
將連線設定為您的預設登入資料:
aws codebuild import-source-credentials --auth-type CODECONNECTIONS --server-type BITBUCKET --token<connection-arn> -
所有使用預設登入資料切換的專案都會自動執行。個別更新使用自訂每個專案登入資料的專案。使用 主控台或
UpdateProjectAPI。