CodeBuild 用の Windows Docker ビルドサンプル
次のサンプルは、CodeBuild を使用することで Windows Docker イメージを構築して実行します。
Windows Docker ビルドサンプルを実行する
Windows Docker サンプルを実行するには、次の手順に従います。
Windows Docker ビルドサンプルを実行するには
-
このトピックの「ディレクトリ構造」セクションと「ファイル」セクションで説明しているファイルを作成し、これらのファイルを S3 入力バケットにアップロードするか、AWS CodeCommit、GitHub、Bitbucket のいずれかのリポジトリにアップロードします。
重要
をアップロードしないでください。アップロードするのは、(root directory name)内のファイルのみです。(root directory name)S3 入力バケットを使用している場合は、ファイルを必ず ZIP ファイルに圧縮してから入力バケットにアップロードしてください。
を ZIP ファイルに追加しないでください。追加するのは、(root directory name)内のファイルのみです。(root directory name) -
WINDOWS_EC2フリートを作成します。AWS CLI を使用してフリートを作成する場合、
create-fleetコマンドへの JSON 形式の入力は次のようになります。(プレースホルダは独自の値に置き換えてください。){ "name": "fleet-name", "baseCapacity": 1, "environmentType": "WINDOWS_EC2", "computeType": "BUILD_GENERAL1_MEDIUM" } -
ビルドプロジェクトを作成して、ビルドを実行し、関連するビルド情報を表示します。
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" } -
ビルドの結果を表示するには、ビルドのログで文字列
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'"