创建将构建输出托管在 S3 存储桶中的静态网站 - Amazon CodeBuild
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

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

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

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

  2. 通过 https://console.aws.amazon.com/codesuite/codebuild/home 打开Amazon CodeBuild主机。

  3. 如果显示 CodeBuild 信息页面,请选择创建生成项目。否则,在导航窗格上,展开 “构建”,选择 “生成项目”,然后选择 “创建生成项目”。

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

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

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

  6. Environment (环境) 中:

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

    • 要使用由 Amazon CodeBuild 托管的 Docker 映像,请选择 Managed image (托管映像),然后从 Operating system (操作系统)Runtime(s) (运行时)Image (映像) 以及 Image version (映像版本) 中进行相应选择。从 Environment type (环境类型) 中进行选择(如果可用)。

    • 要使用其他 Docker 映像,请选择 Custom image (自定义映像)。对于环境类型,选择 ARMLinux、Lin ux GPUWindows。如果您选择 “其他注册表”,则在外部注册表 URL 中,使用格式输入 Docker Hub 中 Docker 映像的名称和标签docker repository/docker image name。如果您选择 Amazon ECR,请使用亚马逊 ECR 存储库亚马逊 ECR 镜像在您的Amazon账户中选择 Docker 镜像。

    • 要使用私有 Docker 镜像,请选择自定义镜像。对于环境类型,选择 ARMLinux、Lin ux GPUWindows。对于 Image registry (映像注册表),选择 Other registry (其他注册表),然后输入您的私有 Docker 映像的凭证的 ARN。证书必须由Secrets Manager 创建。有关更多信息,请参阅什么是Amazon Secrets Manager? Amazon Secrets Manager用户指南中。

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

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

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

    注意

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

  8. Buildspec 中,执行操作之一:

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

    • 选择 “插入生成命令” 以使用控制台插入生成命令。

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

  9. 在 A rti facts 中,对于 “类型”,选择 Amazon S3 将生成输出存储在 S3 存储桶中。

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

  11. 如果您选择在环境插入生成命令,则对于输出文件,请输入要放入输出存储段的编译文件的位置。如果您有多个位置,请使用逗号分隔每个位置(例如,appspec.yml, target/my-app.jar)。有关更多信息,请参阅Artifacts reference-key in the buildspec file

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

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

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

  15. (可选)按照 Amazon S3 开发者指南中的 “示例:使用亚马逊加速您的网站” CloudFront 中的说明进行操作。