CodeBuild 的 Bitbucket 拉取请求和 Webhook 筛选条件示例 - Amazon CodeBuild
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

CodeBuild 的 Bitbucket 拉取请求和 Webhook 筛选条件示例

Amazon CodeBuild当源存储库为 Bitbucket 时,支持 Webhook。这意味着,对于将源代码存储在 Bitbucket 存储库中的 CodeBuild 构建项目,Webhook 可用于在每次将代码更改推送到存储库时重建源代码。有关更多信息,请参阅

此示例向您演示如何使用 Bitbucket 存储库创建拉取请求。它还向您演示如何使用 Bitbucket Webhook 来触发 CodeBuild 来创建一个项目的构建。

注意

使用 webhook 时,用户可能会触发意外的构建。要降低此风险,请参阅使用 Webhook 的最佳实践.

Prerequisites

要运行此示例,您必须将 Amazon CodeBuild 项目与您的 Bitbucket 账户相连接。

注意

CodeBuild 已使用 Bitbucket 更新了其权限。如果您以前已将项目连接到 Bitbucket 但现在收到 Bitbucket 连接错误,必须重新连接以授予 CodeBuild 权限来管理 Webhook。

创建将 Bitbucket 作为源存储库的构建项目并启用 Webhook

以下步骤介绍如何创建一个 Amazon CodeBuild 项目,使用 Bitbucket 作为源存储库并启用 Webhook。

  1. 打开Amazon CodeBuild控制台https://console.aws.amazon.com/codesuite/codebuild/home.

  2. 如果显示 CodeBuild 信息页面,请选择。创建构建项目. 否则,在导航窗格中,展开构建,选择构建项目选择,然后选择创建构建项目.

  3. 选择 Create build project (创建构建项目)

  4. Project configuration (项目配置) 中:

    项目名称

    输入此生成项目的名称。构建项目名称在您的各个 Amazon 账户内必须是唯一的。您还可以包含构建项目的可选描述,以帮助其他用户了解此项目的用途。

  5. Source (源) 中:

    源提供商

    选择Bitbucket. 按照说明与 Bitbucket 连接 (或重新连接),然后选择授权.

    存储库

    选择我的 Bitbucket 账户中的存储库.

    如果您之前没有连接到 Bitbucket 账户,请输入您的 Bitbucket 用户名和应用密码,然后选择保存 Bitbucket 凭证.

    Bitbucket 存储库

    输入您的 Bitbucket 存储库的 URL。

  6. In主要源 Webhook 事件,请选择以下项。

    注意

    这些区域有:主要源 Webhook 事件只有在你选择的情况下才可见我的 Bitbucket 账户中的存储库在上一步中。

    1. 创建项目时,选择 Rebuild every time a code change is pushed to this repository (每次将代码更改推送到此存储库时都会重新生成)

    2. Event type (事件类型) 中,选择一个或多个事件。

    3. 要在事件触发构建时进行筛选,请在 Start a build under these conditions (在这些条件下启动构建) 下,添加一个或多个可选筛选条件。

    4. 要在未触发事件时进行筛选,请在 Start a build under these conditions (在这些条件下不启动构建) 下,添加一个或多个可选筛选条件。

    5. 选择添加筛选组如果需要,请添加其他筛选条件组。

    有关 Bitbucket webhook 事件类型和筛选条件的更多信息,请参阅Bitbucket Webhook 事件.

  7. Environment (环境) 中:

    环境图片

    选择以下选项之一:

    使用由管理的 Docker 映像Amazon CodeBuild:

    选择托管映像,然后从中进行选择操作系统运行时Image, 和映像版本. 从 Environment type (环境类型) 中进行选择(如果可用)。

    要使用其他 Docker 镜像:

    选择自定义映像. 适用于环境类型,选择手臂Linux的Linux GPU,或者Windows. 如果选择其他注册表,对于External 注册表中,在 Docker Hub 中按照格式输入 Docker 镜像的名称和标签docker repository/docker image name. 如果选择Amazon ECR,使用Amazon ECR 存储库Amazon ECR 映像在您的中选择 Docker 镜像Amazonaccount.

    要使用私有 Docker 映像:

    选择自定义映像. 适用于环境类型,选择手臂Linux的Linux GPU,或者Windows. 对于 Image registry (映像注册表),选择 Other registry (其他注册表),然后输入您的私有 Docker 映像的凭证的 ARN。凭证必须由 Secrets Manager 创建。有关更多信息,请参阅 。什么是Amazon Secrets Manager?中的Amazon Secrets Manager用户指南.

    服务角色

    选择以下选项之一:

    • 如果您没有 CodeBuild 服务角色,请选择。新的服务角色. 在 Role name 中,为新角色输入名称。

    • 如果您有 CodeBuild 服务角色,请选择现有服务角色. In角色 ARN,请选择服务角色。

    注意

    当您使用控制台来创建或更新构建项目时,您可以同时创建 CodeBuild 服务角色。默认情况下,这个角色仅能与该构建项目配合使用。如果您使用控制台将此服务角色与另一个构建项目关联,则此角色将更新以便与关联的构建项目结合使用。一个服务角色最多可与 10 个构建项目结合使用。

  8. InBuildSpec,请执行以下操作之一:

    • 选择使用 buildspec 文件以使用源代码根目录中的 buildspec.yml 文件。

    • 选择插入构建命令以使用控制台插入构建命令。

    有关更多信息,请参见 构建规范参考

  9. Artifacts (构件) 中:

    Type

    选择以下选项之一:

    • 如果您不想创建构建输出项目,请选择 No artifacts (无构件)

    • 要在 S3 存储桶中存储生成输出,请选择。Amazon S3,然后执行以下操作:

      • 如果要将项目名称用于构建输出 ZIP 文件或文件夹,请将 Name (名称) 留空。否则,请输入名称。默认情况下,构件名称是项目名称。如果您要使用其他名称,请在构件名称框中输入该名称。如果您要输出 ZIP 文件,请包含 zip 扩展名。

      • 对于 Bucket name (存储桶名称),请选择输出存储桶的名称。

      • 如果您在此过程的前面部分选择了 Insert build commands (插入构建命令),对于 Output files (输出文件),请输入构建(该构建要放到构建输出 ZIP 文件或文件夹中)中的文件位置。对于多个位置,使用逗号分开各个位置 (appspec.yml, target/my-app.jar)。有关更多信息,请参阅 构建规范语法files 的描述。

    其他配置

    展开 Additional configuration (其他配置) 并根据需要设置选项。

  10. 选择 Create build project (创建构建项目)。在 Review (审核) 页面上,选择 Start build (启动构建) 以运行构建。

使用 Bitbucket Webhook 触发构建

对于使用 Bitbucket Webhook 的项目,Amazon CodeBuild 在 Bitbucket 存储库检测到源代码中的更改时创建构建。

  1. 打开Amazon CodeBuild控制台https://console.aws.amazon.com/codesuite/codebuild/home.

  2. 在导航窗格上,选择 Build projects (生成项目),然后选择项目以与 Bitbucket 存储库和 Webhook 关联。有关创建 Bitbucket Webhook 项目的信息,请参阅。创建将 Bitbucket 作为源存储库的构建项目并启用 Webhook.

  3. 在您项目的 Bitbucket 存储库中更改一些代码。

  4. 在 Bitbucket 存储库上创建拉取请求。有关更多信息,请参阅发出拉取请求

  5. 在 Bitbucket Webhook 页面上,选择 View request (查看请求) 以查看最新事件的列表。

  6. 选择查看详细信息以查看有关 CodeBuild 返回的响应的详细信息。其内容如下所示:

    "response":"Webhook received and build started: https://us-east-1.console.aws.amazon.com/codebuild/home..." "statusCode":200
  7. 导航到 Bitbucket 拉取请求页面以查看构建的状态。