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