Paso 2: Configurar el contenido de origen para implementarlo en la instancia de Amazon EC2 de Windows Server - AWS CodeDeploy

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Paso 2: Configurar el contenido de origen para implementarlo en la instancia de Amazon EC2 de Windows Server

Ha llegado el momento de configurar el contenido de origen de la aplicación para tener algo que implementar en la instancia de Amazon EC2. En este tutorial, implementará una única página web en la instancia de Amazon EC2 que ejecuta Windows Server, que a su vez ejecutará Internet Information Services (IIS) como su servidor web. Esta página web mostrará un mensaje "Hello, World!" simple.

Crear la página web

  1. Cree un subdirectorio (subcarpeta) denominado HelloWorldApp en su carpeta c:\temp y, a continuación, pase a esa carpeta.

    mkdir c:\temp\HelloWorldApp cd c:\temp\HelloWorldApp
    nota

    La ubicación de la carpeta no tiene por qué ser c:\temp ni el nombre de la subcarpeta, HelloWorldApp. Si utiliza otra ubicación u otro nombre de subcarpeta, asegúrese de utilizarlos en este tutorial.

  2. Utilice un editor de texto para crear un archivo dentro de la carpeta. Nombre el archivo index.html.

    notepad index.html
  3. Añada el siguiente código HTML al archivo y guárdelo.

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Hello, World!</title> <style> body { color: #ffffff; background-color: #0188cc; font-family: Arial, sans-serif; font-size:14px; } </style> </head> <body> <div align="center"><h1>Hello, World!</h1></div> <div align="center"><h2>You have successfully deployed an application using CodeDeploy</h2></div> <div align="center"> <p>What to do next? Take a look through the <a href="https://aws.amazon.com/codedeploy">CodeDeploy Documentation</a>.</p> </div> </body> </html>

Crear un script para ejecutar la aplicación

A continuación, creará un script que CodeDeploy se utilizará para configurar el servidor web en la instancia Amazon EC2 de destino.

  1. En la misma subcarpeta donde se guarda el archivo index.html, utilice un editor de texto para crear otro archivo. Nombre el archivo before-install.bat.

    notepad before-install.bat
  2. Añada el siguiente código de script de procesamiento por lotes al archivo y, a continuación, guárdelo.

    REM Install Internet Information Server (IIS). c:\Windows\Sysnative\WindowsPowerShell\v1.0\powershell.exe -Command Import-Module -Name ServerManager c:\Windows\Sysnative\WindowsPowerShell\v1.0\powershell.exe -Command Install-WindowsFeature Web-Server

Añadir un archivo de especificación de la aplicación

A continuación, añadirá un archivo de especificaciones de la aplicación (AppSpec archivo) además de la página web y el archivo de script por lotes. El AppSpec archivo es un archivo con formato YAML que se utiliza para: CodeDeploy

  • Asignar los archivos de origen de la revisión de la aplicación a sus destinos en la instancia.

  • Especificar los scripts que deben ejecutarse en la instancia durante la implementación.

El AppSpec archivo debe tener un nombre. appspec.yml Debe ir en la carpeta raíz de código fuente de la aplicación.

  1. Utilice un editor de texto para crear otro archivo en la misma carpeta en la que se encuentran index.html y before-install.bat. Nombre el archivo appspec.yml.

    notepad appspec.yml
  2. Añada el siguiente código YAML al archivo y guárdelo.

    version: 0.0 os: windows files: - source: \index.html destination: c:\inetpub\wwwroot hooks: BeforeInstall: - location: \before-install.bat timeout: 900

CodeDeploy utilizará este AppSpec archivo para copiar el index.html archivo de la carpeta raíz del código fuente de la aplicación a la c:\inetpub\wwwroot carpeta de la instancia Amazon EC2 de destino. Durante la implementación, CodeDeploy ejecutará el script before-install.bat por lotes en la instancia Amazon EC2 de destino durante el evento del ciclo de vida de la BeforeInstall implementación. Si este script tarda más de 900 segundos (15 minutos) en ejecutarse, CodeDeploy detendrá la implementación y marcará la implementación en la instancia de Amazon EC2 como fallida.

Para obtener más información sobre la configuración, consulte CodeDeploy AppSpec referencia de archivo.

importante

Las ubicaciones y el número de espacios entre cada uno de los elementos de este archivo son importantes. Si el espaciado es incorrecto, se CodeDeploy generará un error que puede ser difícil de depurar. Para obtener más información, consulte AppSpec Espaciado de archivos.