本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
GitHub 的拉取请求和 webhook 过滤器示例 CodeBuild
Amazon CodeBuild当源存储库为时,支持 webhooks GitHub。这意味着,对于在存储 GitHub 库中存储源代码的 CodeBuild 构建项目,可使用 Webhook 在每次将代码更改推送到存储库时重新构建源代码。
使用 webhooks 时,用户可能会触发意外构建。要降低这种风险,请参阅使用 Webhook 的最佳实践。
使用源存储库创建构建项目 GitHub并启用 webhooks(控制台)
通过 https://console.aws.amazon.com/codesuite/codebuild/home
打开Amazon CodeBuild主机。 如果显示 CodeBuild 信息页面,请选择创建生成项目。否则,在导航窗格上,展开 “构建”,选择 “生成项目”,然后选择 “创建生成项目”。
-
选择 Create build project (创建构建项目)。
-
在 Project configuration (项目配置) 中:
- 项目名称
-
为该构建项目输入名称。构建项目名称在您的各个 Amazon 账户内必须是唯一的。您还可以添加构建项目的可选描述,以帮助其他用户了解该项目的用途。
-
在 Source (源) 中:
- 来源提供商
-
选择GitHub。按照说明进行连接(或重新连接), GitHub 然后选择 “授权”。
- 存储库
-
在我的 GitHub账户中选择存储库。
- GitHub 存储库
-
输入 GitHub 仓库的 URL。
-
在主要源 webhook 事件中,选择以下内容。
注意 只有当您在上一步中选择了我的 GitHub 账户中的存储库时,主源 webhook 事件部分才可见。
-
创建项目时,选择 Rebuild every time a code change is pushed to this repository (每次将代码更改推送到此存储库时都会重新生成)。
-
从 Event type (事件类型) 中,选择一个或多个事件。
-
要在事件触发构建时进行筛选,请在 Start a build under these conditions (在这些条件下启动构建) 下,添加一个或多个可选筛选条件。
-
要在未触发事件时进行筛选,请在 Start a build under these conditions (在这些条件下不启动构建) 下,添加一个或多个可选筛选条件。
-
如果需要,选择 “添加过滤器组” 以添加其他过滤器组。
有关 GitHub webhook 事件类型和过滤器的更多信息,请参阅事件 GitHub Webhook 事件。
-
-
在 Environment (环境) 中:
- 环境映像
选择以下选项之一:
- 要使用由Amazon CodeBuild以下机构管理的 Docker 镜像:
-
选择 “托管映像”,然后从 “操作系统”、“运行时间”、“映像” 和 “映像版本” 中进行选择。从 Environment type (环境类型) 中进行选择(如果可用)。
- 要使用另一个 Docker 镜像,请执行以下
-
选择自定义镜像。对于环境类型,选择 ARM、Linux、Lin ux GPU 或 Windows。如果您选择 “其他注册表”,则在外部注册表 URL 中,使用格式输入 Docker Hub 中 Docker 映像的名称和标签
。如果您选择 Amazon ECR,请使用亚马逊 ECR 存储库和亚马逊 ECR 镜像在您的Amazon账户中选择 Docker 镜像。docker repository
/docker image name
- 要使用私有 Docker 镜像,请执行以下操作:
-
选择自定义镜像。对于环境类型,选择 ARM、Linux、Lin ux GPU 或 Windows。对于 Image registry (映像注册表),选择 Other registry (其他注册表),然后输入您的私有 Docker 映像的凭证的 ARN。证书必须由Secrets Manager 创建。有关更多信息,请参阅什么是Amazon Secrets Manager? 在Amazon Secrets Manager用户指南中。
- 服务角色
-
选择以下选项之一:
-
如果您没有 CodeBuild 服务角色,请选择新建服务角色。在 Role name 中,为新角色输入名称。
-
如果您有 CodeBuild 服务角色,请选择现有服务角色。在角色 ARN 中,选择服务角色。
注意 使用控制台创建或更新构建项目时,您可以同时创建 CodeBuild 服务角色。默认情况下,这个角色仅能与该构建项目配合使用。如果您使用控制台将此服务角色与另一个构建项目关联,则此角色将更新以便与关联的构建项目结合使用。一个服务角色最多可与 10 个构建项目结合使用。
-
在 Buildspec 中,执行操作之一:
-
选择 “使用 buildspec 文件” 以使用源代码根目录中的 buildspec.yml 文件。
-
选择 “插入生成命令” 以使用控制台插入生成命令。
有关更多信息,请参阅 构建规范参考。
-
-
在 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 (其他配置) 并根据需要设置选项。
-
选择 Create build project (创建构建项目)。在 Review (审核) 页面上,选择 Start build (启动构建) 以运行构建。
验证检查
通过 https://console.aws.amazon.com/codesuite/codebuild/home
打开Amazon CodeBuild主机。 -
在导航窗格中,选择 Build projects。
-
请执行下列操作之一:
-
选择带有要验证的 Webhook 的构建项目的链接,然后选择 Build details (构建详细信息)。
-
选择要验证的 webhook 的构建项目旁边的按钮,选择 “查看详细信息”,然后选择 “生成详细信息” 选项卡。
-
-
在主要来源 webhook 事件中,选择 Webhoo k URL 链接。
-
在您的 GitHub 存储库中,在 “设置” 页面的 Webhooks 下,验证是否选择了 “拉取请求” 和 “推送”。
-
在您的个人 GitHub 资料设置中,在 “个人设置”、“应用程序”、“已授权 OAuth 应用程序” 下,您应该看到您的应用程序已被授权访问您选择的Amazon区域。