在中访问源提供商CodeBuild - Amazon CodeBuild
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

在中访问源提供商CodeBuild

适用于GitHub要么GitHub使用企业服务器,使用个人访问令牌访问源提供程序。对于 Bitbucket,使用应用程序密码访问源提供程序。

GitHub和GitHubEnterprise Server 访问令牌

访问令牌先决条件

在开始之前,您必须将适当的权限范围添加到您的GitHub访问令牌。

适用于GitHub,您的个人访问令牌必须具有以下作用域。

  • 回购:授予私有存储库的完全控制权。

  • repo: 状态:授予对公共和私有仓库提交状态的读/写访问权限。

  • admin: rep_hook:授予存储库挂钩的完全控制权。如果您的令牌具有 repo 范围,则不需要此权限范围。

有关更多信息,请参阅 。了解 OAuth 应用程序的范围在GitHub网站。

Connect (连接)GitHub使用访问令牌(控制台)

要使用控制台将项目连接到GitHub在创建项目时,请使用访问令牌执行以下操作。有关信息,请参阅创建构建项目 (控制台)

  1. 适用于源提供商,选择GitHub.

  2. 适用于Repository,选择Connect 到GitHub个人访问令牌.

  3. InGitHub个人访问令牌,输入你的GitHub个人访问令牌。

  4. 选择 Save token (保存令牌)

Connect (连接)GitHub使用访问令牌 (CLI)

按照以下步骤操作,使用Amazon CLI将你的项目连接到GitHub使用访问令牌。有关将 Amazon CLI 与 Amazon CodeBuild 结合使用的信息,请参阅命令行参考

  1. 运行 import-source-credentials 命令:

    aws codebuild import-source-credentials --generate-cli-skeleton

    输出中将显示 JSON 格式的数据。将数据复制到本地计算机上或安装 Amazon CLI 的实例上某位置处的文件(如 import-source-credentials.json)中。按照下面所示修改复制的数据,并保存您的结果。

    { "serverType": "server-type", "authType": "auth-type", "shouldOverwrite": "should-overwrite", "token": "token", "username": "username" }

    替换以下内容:

    • 服务器类型:必填值。用于此凭证的源提供商。有效值为 GITHUB 或 GITHUB_Enterprise。

    • autype:必填值。用于连接到GitHub要么GitHubEnterprise Server 存储库。有效值包括 PERSONAL_ACCESS_TOKEN 和 BASIC_AUTH。您不能使用 CodeBuild API 来创建 OAUTH 连接。您必须改为使用 CodeBuild 控制台。

    • 应该覆盖:值可选值。设置为 false 可防止覆盖存储库源凭证。设置为 true 可覆盖存储库源凭证。默认值为 true

    • 代币:必填值。适用于GitHub要么GitHub企业服务器,这是个人访问令牌。

    • 用户名:值可选值。将忽略此参数GitHub和GitHub企业服务器源提供商。

  2. 要使用访问令牌连接您的账户,请切换到包含您在步骤 1 中保存的 import-source-credentials.json 文件的目录,然后重新运行 import-source-credentials 命令。

    aws codebuild import-source-credentials --cli-input-json file://import-source-credentials.json

    JSON 格式的数据将使用 Amazon 资源名称 (ARN) 显示在输出中。

    { "arn": "arn:aws:codebuild:region:account-id:token/server-type" }
    注意

    如果您再次使用相同的服务器类型和身份验证类型运行 import-source-credentials 命令,则会更新存储的访问令牌。

    在使用访问令牌连接您的账户后,您可以使用 create-project 来创建您的 CodeBuild 项目。有关更多信息,请参阅 创建构建项目 (Amazon CLI)

  3. 要查看连接的访问令牌,请运行 list-source-credentials 命令。

    aws codebuild list-source-credentials

    JSON 格式的 sourceCredentialsInfos 对象将显示在输出中:

    { "sourceCredentialsInfos": [ { "authType": "auth-type", "serverType": "server-type", "arn": "arn" } ] }

    sourceCredentialsObject 包含连接的源凭证信息的列表:

    • authType 是凭证使用的身份验证类型。这可以是 OAUTHBASIC_AUTHPERSONAL_ACCESS_TOKEN

    • serverType 是源提供商类型。这可以是 GITHUBGITHUB_ENTERPRISEBITBUCKET

    • arn 是令牌的 ARN。

  4. 要断开与源提供商的连接并删除其访问令牌,请使用其 ARN 运行 delete-source-credentials 命令。

    aws codebuild delete-source-credentials --arn arn-of-your-credentials

    将返回 JSON 格式的数据,并带有已删除证书的 ARN。

    { "arn": "arn:aws:codebuild:region:account-id:token/server-type" }

Bitbucket 应用程序密码

App 密码先决条件

在开始之前,您必须向 Bitbucket 应用程序密码添加适当的权限范围。

对于 Bitbucket,您的应用程序密码必须具有以下权限范围。

  • 存储库:已阅读:授予对授权用户有权访问的所有存储库的读取访问权限。

  • 拉请求:阅读:授予对拉取请求的读访问权限。如果您的项目具有 Bitbucket Webhook,则您的应用程序密码必须具有此权限范围。

  • Webhook:授予对 Webhook 的访问权限。如果您的项目具有 Webhook 操作,则您的应用程序密码必须具有此权限范围。

有关更多信息,请参阅 Bitbucket 网站上的 Bitbucket 云 REST API 的权限范围Bitbucket 云上的 OAuth

使用应用密码 Connect Bitbucket(控制台)

要使用控制台使用应用程序密码将您的项目连接到 Bitbucket,请在创建项目时执行以下操作。有关信息,请参阅创建构建项目 (控制台)

  1. 对于 Source provider (源提供商),选择 Bitbucket

    注意

    CodeBuild不支持 Bitbucket Server。

  2. 对于 Repository (存储库),选择 Connect with a Bitbucket app password (使用 Bitbucket 应用程序密码进行连接)

  3. Bitbucket username (Bitbucket 用户名) 中,输入您的 Bitbucket 用户名。

  4. Bitbucket app password (Bitbucket 应用程序密码) 中,输入您的 Bitbucket 应用程序密码。

  5. 选择 Save Bitbucket credentials (保存 Bitbucket 凭证)

使用应用密码 Connect Bitbucket (CLI)

按照以下步骤操作,使用Amazon CLI使用应用密码将项目连接到 Bitbucket。有关将 Amazon CLI 与 Amazon CodeBuild 结合使用的信息,请参阅命令行参考

  1. 运行 import-source-credentials 命令:

    aws codebuild import-source-credentials --generate-cli-skeleton

    输出中将显示 JSON 格式的数据。将数据复制到本地计算机上或安装 Amazon CLI 的实例上某位置处的文件(如 import-source-credentials.json)中。按照下面所示修改复制的数据,并保存您的结果。

    { "serverType": "BITBUCKET", "authType": "auth-type", "shouldOverwrite": "should-overwrite", "token": "token", "username": "username" }

    替换以下内容:

    • autype:必填值。用于连接到 Bitbucket 存储库的身份验证类型。有效值包括 PERSONAL_ACCESS_TOKEN 和 BASIC_AUTH。您不能使用 CodeBuild API 来创建 OAUTH 连接。您必须改为使用 CodeBuild 控制台。

    • 应该覆盖:值可选值。设置为 false 可防止覆盖存储库源凭证。设置为 true 可覆盖存储库源凭证。默认值为 true

    • 代币:必填值。对于 Bitbucket,这是应用程序密码。

    • 用户名:值可选值。当 Bitbucket 用户名authType是 BASIC_AUTH。对于其他类型的源提供商或连接,将忽略此参数。

  2. 要使用应用密码连接您的帐户,请切换到包含import-source-credentials.json您在步骤 1 中保存的文件然后运行import-source-credentials再次命令。

    aws codebuild import-source-credentials --cli-input-json file://import-source-credentials.json

    JSON 格式的数据将使用 Amazon 资源名称 (ARN) 显示在输出中。

    { "arn": "arn:aws:codebuild:region:account-id:token/server-type" }
    注意

    如果您再次使用相同的服务器类型和身份验证类型运行 import-source-credentials 命令,则会更新存储的访问令牌。

    在使用应用程序密码连接您的账户后,您可以使用create-project创建CodeBuild项目。有关更多信息,请参阅 创建构建项目 (Amazon CLI)

  3. 要查看连接的应用程序密码,请运行list-source-credentials命令。

    aws codebuild list-source-credentials

    JSON 格式的 sourceCredentialsInfos 对象将显示在输出中:

    { "sourceCredentialsInfos": [ { "authType": "auth-type", "serverType": "BITBUCKET", "arn": "arn" } ] }

    sourceCredentialsObject 包含连接的源凭证信息的列表:

    • authType 是凭证使用的身份验证类型。这可以是 OAUTHBASIC_AUTHPERSONAL_ACCESS_TOKEN

    • arn 是令牌的 ARN。

  4. 要断开与源提供程序的连接并删除其应用程序密码,请运行delete-source-credentials用它的 ARN 命令。

    aws codebuild delete-source-credentials --arn arn-of-your-credentials

    将返回 JSON 格式的数据,并带有已删除证书的 ARN。

    { "arn": "arn:aws:codebuild:region:account-id:token/server-type" }