适用于 CodeBuild 的 Windows Docker 构建示例 - Amazon CodeBuild
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

适用于 CodeBuild 的 Windows Docker 构建示例

以下示例使用 CodeBuild 构建和运行 Windows Docker 映像。

运行 Windows Docker 构建示例

使用以下过程运行 Windows Docker 构建。

运行 Windows Docker 构建示例
  1. 按照本主题的目录结构文件部分的说明创建文件,然后将其上传到 S3 输入存储桶或者上传到 Amazon CodeCommit、GitHub 或 Bitbucket 存储库。

    重要

    请不要上传 (root directory name),而只上传 (root directory name) 中的文件。

    如果您使用的是 S3 输入存储桶,请务必创建一个包含这些文件的 ZIP 文件,然后将其上传到输入存储桶。请不要将 (root directory name) 添加到 ZIP 文件中,而只添加 (root directory name) 中的文件。

  2. 创建 WINDOWS_EC2 实例集。

    如果您使用 Amazon CLI 创建实例集,则 create-fleet 命令的 JSON 格式输入可能与此类似。(请将占位符替换为您自己的值。)

    { "name": "fleet-name", "baseCapacity": 1, "environmentType": "WINDOWS_EC2", "computeType": "BUILD_GENERAL1_MEDIUM" }
  3. 创建构建项目、运行构建和查看相关构建信息。

    如果您使用 Amazon CLI 创建构建项目,则 create-project 命令的 JSON 格式输入可能与此类似。(请将占位符替换为您自己的值。)

    { "name": "project-name", "source": { "type": "S3", "location": "bucket-name/DockerImageSample.zip" }, "artifacts": { "type": "NO_ARTIFACTS" }, "environment": { "type": "WINDOWS_EC2", "image": "Windows", "computeType": "BUILD_GENERAL1_MEDIUM", "fleet": { "fleetArn": "fleet-arn" } }, "serviceRole": "arn:aws:iam::account-ID:role/role-name" }
  4. 要查看构建结果,请在构建的日志中查找字符串 Hello, World!。有关更多信息,请参阅 查看构建详细信息

目录结构

此示例采用以下目录结构。

(root directory name) ├── buildspec.yml └── Dockerfile

文件

在此示例中使用的操作系统的基本映像是 mcr.microsoft.com/windows/servercore:ltsc2022。此示例将使用这些文件。

buildspec.yml(在 (root directory name)

version: 0.2 phases: pre_build: commands: - docker build -t helloworld . build: commands: - docker images - docker run helloworld powershell -Command "Write-Host 'Hello World!'"

Dockerfile(在 (root directory name)

FROM mcr.microsoft.com/windows/servercore:ltsc2022 RUN powershell -Command "Write-Host 'Hello World'"