

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 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'"
```