

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# CodeBuild 用の Windows Docker ビルドサンプル
<a name="sample-windows-docker-custom-image"></a>

次のサンプルは、CodeBuild を使用することで Windows Docker イメージを構築して実行します。

**Topics**
+ [Windows Docker ビルドサンプルを実行する](#sample-windows-docker-build-running)

## Windows Docker ビルドサンプルを実行する
<a name="sample-windows-docker-build-running"></a>

Windows Docker サンプルを実行するには、次の手順に従います。

**Windows Docker ビルドサンプルを実行するには**

1. このトピックの [ディレクトリ構造](#sample-windows-docker-custom-image-dir)および [ファイル](#sample-windows-docker-custom-image-files)セクションで説明されているようにファイルを作成し、S3 入力バケットまたは AWS CodeCommit、GitHub、または Bitbucket リポジトリにアップロードします。
**重要**  
`(root directory name)` をアップロードしないでください。アップロードするのは、`(root directory name)` 内のファイルのみです。  
S3 入力バケットを使用している場合は、ファイルを必ず ZIP ファイルに圧縮してから入力バケットにアップロードしてください。`(root directory name)` を ZIP ファイルに追加しないでください。追加するのは、`(root directory name)` 内のファイルのみです。

1. `WINDOWS_EC2` フリートを作成します。

   を使用してフリート AWS CLI を作成する場合、`create-fleet`コマンドへの JSON 形式の入力は次のようになります。(プレースホルダは独自の値に置き換えてください。)

   ```
   {
     "name": "fleet-name",
     "baseCapacity": 1,
     "environmentType": "WINDOWS_EC2",
     "computeType": "BUILD_GENERAL1_MEDIUM"
   }
   ```

1. ビルドプロジェクトを作成して、ビルドを実行し、関連するビルド情報を表示します。

   を使用してビルドプロジェクト AWS 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"
   }
   ```

1. ビルドの結果を表示するには、ビルドのログで文字列 `Hello, World!` を探します。詳細については、「[ビルドの詳細の表示](view-build-details.md)」を参照してください。

### ディレクトリ構造
<a name="sample-windows-docker-custom-image-dir"></a>

このサンプルのディレクトリ構造は次のとおりとします。

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

### ファイル
<a name="sample-windows-docker-custom-image-files"></a>

このサンプルで使用されているオペレーティングシステムの基本イメージは `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'"
```