CodeBuild 用の Windows Docker ビルドサンプル - AWS CodeBuild

CodeBuild 用の Windows Docker ビルドサンプル

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

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

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

Windows Docker ビルドサンプルを実行するには
  1. このトピックの「ディレクトリ構造」セクションと「ファイル」セクションで説明しているファイルを作成し、これらのファイルを S3 入力バケットにアップロードするか、AWS CodeCommit、GitHub、Bitbucket のいずれかのリポジトリにアップロードします。

    重要

    (root directory name) をアップロードしないでください。アップロードするのは、(root directory name) 内のファイルのみです。

    S3 入力バケットを使用している場合は、ファイルを必ず ZIP ファイルに圧縮してから入力バケットにアップロードしてください。(root directory name) を ZIP ファイルに追加しないでください。追加するのは、(root directory name) 内のファイルのみです。

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

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

    { "name": "fleet-name", "baseCapacity": 1, "environmentType": "WINDOWS_EC2", "computeType": "BUILD_GENERAL1_MEDIUM" }
  3. ビルドプロジェクトを作成して、ビルドを実行し、関連するビルド情報を表示します。

    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" }
  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'"