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

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

在以下位置访问您的源提供商 CodeBuild

对于 GitHub 我们的 GitHub 企业服务器,您可以使用个人访问令牌或 OAuth 应用程序来访问源提供商。对于 Bitbucket,您可以使用访问令牌、应用程序密码或 OAuth 应用程序来访问源提供商。

注意

GitLab 而且 Self Managed GitLab 源提供者不是直接访问的 CodeBuild ,而是通过访问的 Amazon CodeConnections。

GitHub 和 GitHub 企业服务器访问令牌

访问令牌先决条件

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

对于 GitHub,您的个人访问令牌必须具有以下范围。

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

  • repo:status:授予对公共和私有存储库提交状态的读/写权限。

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

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

如果您使用的是细粒度的个人访问令牌,则根据您的用例,您的个人访问令牌可能需要以下权限:

  • 内容:只读:授予对私有仓库的访问权限。如果您使用私有仓库作为来源,则需要此权限。

  • 提交状态:读写:授予创建提交状态的权限。如果您的项目设置了 webhook,或者您启用了报告构建状态功能,则需要此权限。

  • Webhook:读写:授予管理 webhook 的权限。如果您的项目设置了 webhook,则需要此权限。

  • 拉取请求:只读:授予访问拉取请求的权限。如果您的 webhook 对拉取请求事件有FILE_PATH过滤器,则需要此权限。

  • 管理:读写:如果您使用自托管 GitHub 的 Actions 运行器功能,则需要此权限。 CodeBuild有关更多详细信息,请参阅为存储库创建注册令牌在中设置自托管的 GitHub 操作运行器 Amazon CodeBuild

注意

如果要访问组织仓库,请务必将该组织指定为访问令牌的资源所有者。

有关更多信息,请参阅网站上的细粒度个人访问令牌所需的权限。 GitHub

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

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

  1. 对于源提供商,请选择GitHub

  2. 对于 “存储库”,选择 “使用 GitHub 个人访问令牌连接”。

  3. GitHub 个人访问令牌中,输入您的 GitHub个人访问令牌。

  4. 选择保存令牌

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

按照以下步骤使用访问令牌将您的项目连接到 GitHub 该项目。 Amazon CLI 有关 Amazon CLI 搭配使用的信息 Amazon CodeBuild,请参阅命令行参考

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

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

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

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

    替换以下内容:

    • server-type:必填值。用于此凭证的源提供商。有效值为 GITHUB 或 GITHUB_ENTERPRISE。

    • auth-type:必填值。用于连接到 GitHub 或 GitHub 企业服务器存储库的身份验证类型。有效值包括 PERSONAL_ACCESS_TOKEN 和 BASIC_AUTH。您无法使用 CodeBuild API 创建 OAUTH 连接。您必须改用 CodeBuild 控制台。

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

    • token:必填值。对于 GitHub 我们的 GitHub 企业服务器,这是个人访问令牌。

    • username:可选值。对于 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" }

GitHub OAuth 应用程序

GitHub 使用 OAuth 连接(控制台)

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

  1. 对于源提供商,请选择GitHub

  2. 在 “存储库” 中,选择 “使用 OAuth 连接”。

  3. 选择 Connect t o GitHub,登录并授权您的账户。

  4. 选择 “确认” CodeBuild 以连接到您的 GitHub 帐户。

  5. GitHub 存储库中,输入您的 GitHub存储库链接。

要查看您的授权的 OAuth 应用程序,请导航到 “开启的应用程序” GitHub,并确认列出了名为 aws- codesu Amazon CodeBuild (region) ite 拥有的应用程序。

Bitbucket 应用程序密码或访问令牌

先决条件

在开始之前,您必须在 Bitbucket 应用程序密码或访问令牌中添加适当的权限范围。

对于 Bitbucket,您的应用程序密码或访问令牌必须具有以下范围。

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

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

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

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

使用应用程序密码连接 Bitbucket(控制台)

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

  1. 对于源提供商,选择 Bitbucket

    注意

    CodeBuild 不支持 Bitbucket 服务器。

  2. 对于存储库,选择使用 Bitbucket 应用程序密码进行连接

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

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

  5. 选择保存 Bitbucket 凭证

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

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

  1. 对于源提供商,选择 Bitbucket

    注意

    CodeBuild 不支持 Bitbucket 服务器。

  2. 对于存储库,选择使用 Bitbucket 访问令牌连接

  3. 比特桶访问令牌中,输入您的 Bitbucket 访问令牌。

  4. 选择保存令牌

使用应用程序密码或访问令牌 (CLI) 连接 Bitbucket

按照以下步骤使用应用程序密码或访问令牌将您的项目连接到 Bitbucket。 Amazon CLI 有关 Amazon CLI 搭配使用的信息 Amazon CodeBuild,请参阅命令行参考

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

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

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

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

    替换以下内容:

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

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

    • token:必填值。对于 Bitbucket,这要么是访问令牌,要么是应用程序密码。

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

  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": "BITBUCKET", "arn": "arn" } ] }

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

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

    • 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 OAuth 应用程序

使用 OAuth 连接 Bitbucket(控制台)

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

  1. 对于源提供商,选择 Bitbucket

  2. 在 “存储库” 中,选择 “使用 OAuth 连接”。

  3. 选择 Connect to Bitbuck et,登录并授权您的账户。

  4. 选择 “确认” 以 CodeBuild 连接到您的 Bitbucket 账户。

  5. Bitbucket 存储库中,输入您的存储库链接。

要查看您的授权的 OAuth 应用程序,请导航到 Bitbucket 上的应用程序授权,并确认列出了名为的应用程序。Amazon CodeBuild (region)