AWS CodeBuild
用户指南 (API 版本 2016-10-06)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

创建将构建输出托管在 Amazon S3 存储桶中的静态网站。

您可以在构建中禁用构件加密。您可能需要禁用构件加密,以便将构件发布到配置为托管网站的位置。(您不能发布加密的构件。) 此示例演示如何使用 Webhook 触发构建并将其构件发布到配置为网站的 Amazon S3 存储桶。

  1. 按照设置静态网站中的说明配置一个以网站方式运行的 Amazon S3 存储桶。

  2. Open the AWS CodeBuild console at https://console.amazonaws.cn/codesuite/codebuild/home.

  3. 如果显示 CodeBuild 信息页面,请选择 Create build project (创建构建项目)。否则,请在导航窗格上展开 Build (构建),然后依次选择 Build projects (构建项目)Create build project (创建构建项目)

  4. Create build project (创建构建项目) 页面上的 Project configuration (项目配置) 中,对于 Project name (项目名称),输入此构建项目的名称。构建项目名称在您的各个 AWS 账户内必须是唯一的。您也可以包含构建项目的可选描述来帮助其他用户了解此项目的用途。

  5. Source (源) 中,对于 Source provider (源提供商),选择 GitHub。按照说明与 GitHub 连接(或重新连接),然后选择 Authorize (授权)

    对于 Webhook,选择 Rebuild every time a code change is pushed to this repository (每次将代码更改推送到此存储库时都会重新生成)。仅当您已选中 Use a repository in my account (在我的账户中使用存储库) 时才选中此复选框。

  6. Environment (环境) 中:

    对于 Environment image (环境映像),执行下列操作之一:

    • 要使用由 AWS CodeBuild 托管的 Docker 映像,请选择 Managed image (托管映像),然后从 Operating system (操作系统)Runtime (运行时)Runtime version (运行时版本) 中进行相应选择。

    • 要使用其他 Docker 映像,请选择 Custom image (自定义映像)。对于 Environment type (环境类型),选择 LinuxWindows。对于 Custom image type (自定义映像类型),选择 Amazon ECROther location (其他位置)。如果您选择 Other location (其他位置),请在 Docker Hub 中按照格式 docker repository/docker image name 输入 Docker 映像的名称和标签。如果您选择 Amazon ECR,请使用 Amazon ECR repository (Amazon ECR 存储库)Amazon ECR image (Amazon ECR 映像) 在您的 AWS 账户中选择 Docker 映像。

    • 要使用私有 Docker 映像,请选择 Custom image (自定义映像)。对于 Environment type (环境类型),选择 LinuxWindows。对于 Custom image type (自定义映像类型),选择 Other location (其他位置),然后输入您私有 Docker 映像的凭证的 Amazon 资源名称 (ARN)。凭证必须由 AWS Secrets Manager 创建。有关更多信息,请参阅什么是 AWS Secrets Manager?

  7. Service role (服务角色) 中,执行下列操作之一:

    • 如果您没有 CodeBuild 服务角色,请选择 New service role (新建服务角色)。在 Role name (角色名称) 中,接受默认名称或输入您自己的名称。

    • 如果您有 CodeBuild 服务角色,请选择 Existing service role (现有服务角色)。在 Role name (角色名称) 中,选择服务角色。

    注意

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

  8. 对于 Buildspec,执行以下操作之一:

    • 选择 Use a buildspec file (使用 buildspec 文件) 以在源代码根目录中使用 buildspec.yml 文件。

    • 选择 Insert build commands (插入构建命令) 以使用控制台插入构建命令。

    有关更多信息,请参见 生成规范参考

  9. Artifacts (构件) 中,对于 Type (类型),选择 Amazon S3 将构建输出存储在 Amazon S3 存储桶中。

  10. 选择 Disable artifacts encryption (禁用构件加密)

  11. 对于 Bucket name (存储桶名称),选择您在步骤 1 中配置以用作网站的 Amazon S3 存储桶的名称。

  12. 如果在 Environment (环境) 中选择 Insert build commands (插入构建命令),则对于 Output files (输出文件),请输入要放到输出存储桶中的构建中的文件位置。如果有多个位置,请使用逗号分隔每个位置(例如,“appspec.yml, target/my-app.jar”)。

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

  14. 选择 Create build project (创建构建项目)。在生成项目页面上的 Build history (生成历史记录) 中,选择 Start build (启动生成) 以运行生成。

  15. (可选)按照示例:使用 Amazon CloudFront 为网站提速中的说明操作。