本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Bitbucket 应用程序连接
你可以使用 Bitbucket 进行连接。 CodeBuild通过 Amazon CodeConnections 支持 Bitbucket 应用程序连接。
注意
CodeConnections 在少于. 的地区可用 CodeBuild。您可以在中使用跨区域连接。 CodeBuild在选择加入区域创建的连接不能在其他区域中使用。有关更多信息,请参阅 Amazon CodeConnections 终端节点和限额。
主题
步骤 1:创建到 Bitbucket 的连接(控制台)
使用以下步骤使用 CodeBuild 控制台在 Bitbucket 中为您的项目添加连接。
要创建到 Bitbucket 的连接
-
按照《开发人员工具用户指南》中的说明来创建与 Bitbucket 的连接。
注意
您可以使用其他账户共享的连接,而不是创建或使用 Amazon 账户中的现有连接。有关更多信息,请参阅与 Amazon 账户共享连接。
步骤 2:向 CodeBuild 项目 IAM 角色授予使用连接的访问权限
您可以向 CodeBuild 项目 IAM 角色授予使用您的连接出售的 Bitbucket 令牌的访问权限。
授予 CodeBuild 项目 IAM 角色访问权限
-
按照项目的说明为您的 CodeBuild 项目创建 IAM 角色。CodeBuild 允许与其他 Amazon 服务进行交互 CodeBuild
-
按照说明进行操作时,将以下 IAM 策略添加到您的 CodeBuild 项目角色以授予对连接的访问权限。
步骤 3:配置 CodeBuild 为使用新连接
您可以将连接配置为账户级别凭证,并在项目中使用。
有关在 CodeBuild 项目中设置多个令牌的更多信息,请参阅将多个令牌配置为源级别凭证。
Bitbucket OAuth 轮换刷新令
Atlassian 现在对 Bitbucket OAuth 强制使用一次性轮换刷新令牌。每次使用刷新令牌时,Bitbucket 都会使其失效并返回一个新的刷新令牌。有关更多信息,请参阅 Atlassian 开发者网站上的 Bitbucket OAuth 一次性刷新令牌 (CHANGE-3052)
密钥 Manager-stored 凭证所需的操作
如果你在 Secrets Manager 中存储 Bitbucket OAuth 凭证,请向你的 CodeBuild 服务角色添加secretsmanager:PutSecretValue权限。有了此权限, CodeBuild 可以在每次刷新令牌后将更新的刷新令牌写回您的密钥。如果没有此权限,令牌刷新后的下一次构建将失败。
以下 IAM 策略声明示例,授予所需的权限:
{ "Effect": "Allow", "Action": "secretsmanager:PutSecretValue", "Resource": "arn:aws:secretsmanager:*:*:secret:codebuild/*" }
如果您使用该 CodeBuild-managed 选项,则无需进行任何更改。 CodeBuild 自动处理代币轮换。
迁移到 Amazon CodeConnections (推荐)
我们建议迁移到以 Amazon CodeConnections 进行 Bitbucket 集成。 Amazon CodeConnections 使用单独的授权机制,轮换刷新令牌不受影响。您无需管理令牌或添加权限。
要迁移到 Amazon CodeConnections,请完成以下步骤:
-
打开 开发人员工具控制台。选择 “设置”、“连接”,然后选择 “创建连接”。选择 Bitbucket 作为提供商。
-
在您的 Bitbucket 工作空间中授权 Amazon CodeConnections 该应用程序。这需要在 Bitbucket 中拥有管理工作空间的权限。
-
向您的 CodeBuild 服务角色添加以下权限:
codeconnections:GetConnectionToken和codeconnections:GetConnection。 -
将连接设置为默认凭据:
aws codebuild import-source-credentials --auth-type CODECONNECTIONS --server-type BITBUCKET --token<connection-arn> -
所有项目都会自动使用默认凭据开关。单独更新使用每个项目的自定义凭据的项目。使用控制台或
UpdateProjectAPI。