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

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

GitHub 的拉取请求和 Webhook 过滤器示例 CodeBuild

Amazon CodeBuild当源存储库为时支持 webhook GitHub. 这意味着对于 CodeBuild 构建将其源代码存储在 GitHub 存储库,Webhook 可用于在每次代码更改推送到存储库时重新构建源代码。

注意

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

使用以下操作创建构建项目 GitHub作为源存储库并启用 Webhook(控制台)

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

  2. 如果 a CodeBuild 显示信息页面,选择创建构建项目. 否则,在导航窗格中,展开Build(生成),选择建立项目,然后选择创建构建项目.

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

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

    项目名称

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

  5. Source (源) 中:

    源代码提供者

    选择GitHub. 按照以下说明连接(或重新连接) GitHub 然后选择授权方.

    存储库

    选择我的存储库中的存储库 GitHub帐户.

    GitHub 知识库

    输入您的 URL GitHub 存储库。

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

    注意

    这些区域有:Webhook 事件的主要来源仅当您选择时,分区才可见我的存储库中的存储库 GitHub 帐户在上一步中。

    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. 选择添加筛选器组如果需要,添加另一个筛选器组。

    有关更多信息 GitHub webhook 事件类型和过滤器,请参阅事件 GitHub Webhook 事件.

  7. Environment (环境) 中:

    环境映像

    选择以下选项之一:

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

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

    要使用另一个 Docker 镜像:

    选择自定义映像. 对于环境类型,选择手臂,Linux的,Linux G,或Windows. 如果...其他注册表,对于外部注册表 URL,在 Docker Hub 中输入 Docker 镜像的名称和标签,格式为docker repository/docker image name. 如果...Amazon ECR,使用Amazon ECR 存储库Amazon ECR 镜像图在你的 Docker 镜像中选择一个Amazon账户。

    要使用私有 Docker 镜像,请执行以下操作:

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

    服务角色

    选择以下选项之一:

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

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

    注意

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

  8. Build规,执行以下操作之一:

    • 选择使用编译规范文件在源代码根目录中使用 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 (启动构建) 以运行构建。

验证检查

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

  2. 在导航窗格中,选择 Build projects

  3. 请执行下列操作之一:

    • 选择带有要验证的 Webhook 的构建项目的链接,然后选择 Build details (构建详细信息)

    • 选择包含要验证的 Webhook 的构建项目旁边的按钮,选择查看详细信息,然后选择构建详细信息选项卡。

  4. Webhook 事件的主要来源,请选择Webhook网址链接。

  5. 在你的 GitHub 存储库,在设置页面,下方Webhook,验证拉取请求推送被选中。

  6. 在你的 GitHub 配置文件设置,在个人设置,应用程序,授权的 OAuth 应用程序,你应该会看到你的应用程序已被授权访问Amazon您选择的地区。