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

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. Asigne el nombre al 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 utilizará para configurar el servidor web de destino en la instancia de Amazon EC2.

  1. En la misma subcarpeta donde se guarda el archivo index.html, utilice un editor de texto para crear otro archivo. Asigne el nombre al 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 especificación de la aplicación (archivo AppSpec) además de la página web y el archivo con el script de procesamiento por lotes. El archivo AppSpec es un archivo con formato YAML utilizado por CodeDeploy para:

  • 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 archivo AppSpec debe denominarse 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. Asigne el nombre al 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 archivo AppSpec para copiar el archivo index.html de la carpeta raíz del código fuente de la aplicación en la carpeta c:\inetpub\wwwroot de la instancia de Amazon EC2 de destino. Durante la implementación, CodeDeploy ejecutará el script de procesamiento por lotes before-install.bat en la instancia de Amazon EC2 de destino durante el evento del ciclo de vida de la implementación BeforeInstall. Si este script tarda más de 900 segundos (15 minutos) en ejecutarse, CodeDeploy detendrá la implementación en la instancia de Amazon EC2 y la marcará como errónea.

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

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, CodeDeploy generará un error que puede resultar difícil de depurar. Para obtener más información, consulte Espaciado de archivos AppSpec.