Ejemplo de compilaciones de Windows Docker para CodeBuild - AWS CodeBuild

Ejemplo de compilaciones de Windows Docker para CodeBuild

En el siguiente ejemplo se compila y ejecuta una imagen de Docker de Windows mediante CodeBuild.

Ejecución del ejemplo de compilación de Windows Docker

Utilice el siguiente procedimiento para ejecutar las compilaciones de Windows Docker.

Cómo ejecutar el ejemplo de compilaciones de Windows Docker
  1. Cree los archivos tal y como se describe en las secciones Estructura de directorios y Archivos de este tema y cárguelos en un bucket de entrada de S3 o en un repositorio de AWS CodeCommit, GitHub o Bitbucket.

    importante

    No cargue (root directory name), solo los archivos incluidos en (root directory name).

    Si utiliza un bucket de entrada de S3, no olvide crear un archivo ZIP que contenga los archivos y cárguelo en el bucket de entrada. No añada (root directory name) al archivo ZIP, solo los archivos incluidos en (root directory name).

  2. Cree una flota de WINDOWS_EC2.

    Si usa la AWS CLI para crear la flota, es posible que la entrada con formato JSON del comando create-fleet tenga un aspecto similar al siguiente. (Sustituya los marcadores de posición por sus propios valores).

    { "name": "fleet-name", "baseCapacity": 1, "environmentType": "WINDOWS_EC2", "computeType": "BUILD_GENERAL1_MEDIUM" }
  3. Cree un proyecto de compilación, ejecute la compilación y vea la información de compilación relacionada.

    Si usa la AWS CLI para crear el proyecto de compilación, es posible que el resultado con formato JSON del comando create-project tenga un aspecto similar al siguiente. (Sustituya los marcadores de posición por sus propios valores).

    { "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. Para ver los resultados de compilación, busque en el log de la compilación la cadena Hello, World!. Para obtener más información, consulte Ver detalles de las compilaciones.

Estructura de directorios

En este ejemplo se presupone que existe esta estructura de directorios.

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

Archivos

La imagen base del sistema operativo utilizado en este ejemplo es mcr.microsoft.com/windows/servercore:ltsc2022. El ejemplo usa los siguientes archivos.

buildspec.yml (en (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 (en (root directory name))

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