View a markdown version of this page

Bitbucket 应用程序连接 - Amazon CodeBuild
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Bitbucket 应用程序连接

你可以使用 Bitbucket 进行连接。 CodeBuild通过 Amazon CodeConnections 支持 Bitbucket 应用程序连接。

注意

CodeConnections 在少于. 的地区可用 CodeBuild。您可以在中使用跨区域连接。 CodeBuild在选择加入区域创建的连接不能在其他区域中使用。有关更多信息,请参阅 Amazon CodeConnections 终端节点和限额

步骤 1:创建到 Bitbucket 的连接(控制台)

使用以下步骤使用 CodeBuild 控制台在 Bitbucket 中为您的项目添加连接。

要创建到 Bitbucket 的连接
注意

您可以使用其他账户共享的连接,而不是创建或使用 Amazon 账户中的现有连接。有关更多信息,请参阅与 Amazon 账户共享连接

步骤 2:向 CodeBuild 项目 IAM 角色授予使用连接的访问权限

您可以向 CodeBuild 项目 IAM 角色授予使用您的连接出售的 Bitbucket 令牌的访问权限。

授予 CodeBuild 项目 IAM 角色访问权限
  1. 按照项目的说明为您的 CodeBuild 项目创建 IAM 角色。CodeBuild 允许与其他 Amazon 服务进行交互 CodeBuild

  2. 按照说明进行操作时,将以下 IAM 策略添加到您的 CodeBuild 项目角色以授予对连接的访问权限。

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

步骤 3:配置 CodeBuild 为使用新连接

您可以将连接配置为账户级别凭证,并在项目中使用。

Amazon Web Services 管理控制台
要将连接配置为账户级别的凭证,请参阅 Amazon Web Services 管理控制台
  1. 对于源提供商,选择 Bitbucket

  2. 对于凭证,执行以下操作之一:

    • 选择默认来源凭证,使用您账户的默认来源凭证应用于所有项目。

      1. 如果未连接到 Bitbucket,请选择管理默认来源凭证

      2. 对于 “凭证类型”,选择CodeConnections

      3. 连接中,选择使用现有连接或创建新连接。

    • 选择自定义来源凭证,以便使用自定义来源凭证来覆盖您账户的默认设置。

      1. 对于 “凭证类型”,选择CodeConnections

      2. 连接中,选择使用现有连接或创建新连接。

Amazon CLI
要将连接配置为账户级别的凭证,请参阅 Amazon CLI
  • 打开终端(Linux、macOS 或 Unix)或命令提示符(Windows)。 Amazon 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)

密钥 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,请完成以下步骤:

  1. 打开 开发人员工具控制台。选择 “设置”、“连接”,然后选择 “创建连接”。选择 Bitbucket 作为提供商。

  2. 在您的 Bitbucket 工作空间中授权 Amazon 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。