

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: Crear una revisión de aplicación de ejemplo
<a name="tutorials-on-premises-instance-2-create-sample-revision"></a>

En este paso, creará una revisión de aplicación de ejemplo para implementarla en la instancia en las instalaciones. 

Dado que es difícil conocer el software y las características que ya están instalados -o que las políticas de su organización permiten instalar- en la instancia en las instalaciones, la revisión de aplicación de ejemplo que incluimos aquí usa simplemente scripts por lotes (en Windows Server) o scripts de intérpretes de comandos (en Ubuntu Server y RHEL) para escribir archivos de texto en una ubicación de la instancia en las instalaciones. Se escribe un archivo para cada uno de los diversos eventos del ciclo de vida de la CodeDeploy implementación, incluidos los eventos de **instalación**, **AfterInstall**ApplicationStart****, y. **ValidateService** Durante el evento del ciclo de vida de la **BeforeInstall**implementación, se ejecutará un script para eliminar los archivos antiguos escritos durante las implementaciones anteriores de este ejemplo y crear una ubicación en la instancia local en la que escribir los nuevos archivos. 

**nota**  
La implementación de la revisión de aplicación de ejemplo puede fallar si se da cualquiera de las siguientes circunstancias:  
El usuario que inicia el CodeDeploy agente en la instancia local no tiene permiso para ejecutar scripts.
El usuario no tiene permiso para crear o eliminar carpetas en las ubicaciones indicadas en los scripts.
El usuario no tiene permiso para crear archivos de texto en las ubicaciones indicadas en los scripts.

**nota**  
Si ha configurado una instancia de Windows Server y desea implementar un ejemplo diferente, puede ser conveniente usar el indicado en [Paso 2: Configurar el contenido de origen para implementarlo en la instancia de Amazon EC2 de Windows Server](tutorials-windows-configure-content.md) en el tutorial [Tutorial: Implementación de una aplicación "Hello, World\$1" aplicación con CodeDeploy (Windows Server)](tutorials-windows.md).  
Si ha configurado una instancia de RHEL y desea implementar un ejemplo diferente, puede ser conveniente usar el indicado en [Paso 2: Configurar el contenido fuente para implementarlo en la instancia de Amazon EC2 de Amazon Linux o Red Hat Enterprise Linux](tutorials-wordpress-configure-content.md) en el tutorial [Tutorial: Implementación WordPress en una instancia de Amazon EC2 (Amazon Linux o Red Hat Enterprise Linux y Linux, macOS o Unix)](tutorials-wordpress.md).  
En la actualidad, no hay ningún ejemplo alternativo para Ubuntu Server.

1. En el equipo de desarrollo, cree un subdirectorio (subcarpeta) con el nombre `CodeDeployDemo-OnPrem` para almacenar los archivos de la revisión de aplicación de ejemplo y, a continuación, sitúese en esa subcarpeta. En este ejemplo, supondremos que va a utilizar la carpeta `c:\temp` como la carpeta raíz para Windows Server o la carpeta `/tmp` como la carpeta raíz para Ubuntu Server y RHEL. Si utiliza una carpeta diferente, asegúrese de indicarla en lugar de la anterior en todo el tutorial: 

   Para Windows:

   ```
   mkdir c:\temp\CodeDeployDemo-OnPrem
   cd c:\temp\CodeDeployDemo-OnPrem
   ```

   Para Linux, macOS o Unix:

   ```
   mkdir /tmp/CodeDeployDemo-OnPrem
   cd /tmp/CodeDeployDemo-OnPrem
   ```

1. En la raíz de la subcarpeta `CodeDeployDemo-OnPrem`, utilice en editor de texto para crear dos archivos con los nombres `appspec.yml` e `install.txt`:

   `appspec.yml` para Windows Server:

   ```
   version: 0.0
   os: windows
   files:
     - source: .\install.txt
       destination: c:\temp\CodeDeployExample
   hooks:
     BeforeInstall:
       - location: .\scripts\before-install.bat
         timeout: 900
     AfterInstall:
       - location: .\scripts\after-install.bat     
         timeout: 900
     ApplicationStart:
       - location: .\scripts\application-start.bat  
         timeout: 900
     ValidateService:
       - location: .\scripts\validate-service.bat    
         timeout: 900
   ```

   `appspec.yml` para Ubuntu Server y RHEL:

   ```
   version: 0.0
   os: linux
   files:
     - source: ./install.txt
       destination: /tmp/CodeDeployExample
   hooks:
     BeforeInstall:
       - location: ./scripts/before-install.sh
         timeout: 900
     AfterInstall:
       - location: ./scripts/after-install.sh
         timeout: 900
     ApplicationStart:
       - location: ./scripts/application-start.sh
         timeout: 900
     ValidateService:
       - location: ./scripts/validate-service.sh
         timeout: 900
   ```

   Para obtener más información sobre AppSpec los archivos, consulte [Añadir un archivo de especificaciones de la aplicación a una revisión de CodeDeploy](application-revisions-appspec-file.md) y[CodeDeploy AppSpec referencia de archivo](reference-appspec-file.md).

   `install.txt`:

   ```
   The Install deployment lifecycle event successfully completed.
   ```

1. En la raíz de la subcarpeta `CodeDeployDemo-OnPrem`, cree una subcarpeta `scripts` y sitúese en ella:

   Para Windows:

   ```
   mkdir c:\temp\CodeDeployDemo-OnPrem\scripts
   cd c:\temp\CodeDeployDemo-OnPrem\scripts
   ```

   Para Linux, macOS o Unix:

   ```
   mkdir -p /tmp/CodeDeployDemo-OnPrem/scripts
   cd /tmp/CodeDeployDemo-OnPrem/scripts
   ```

1. En la raíz de la subcarpeta `scripts`, utilice un editor de texto para crear cuatro archivos con los nombres `before-install.bat`, `after-install.bat`, `application-start.bat` y `validate-service.bat` para Windows Server, o `before-install.sh`, `after-install.sh`, `application-start.sh` y `validate-service.sh` para Ubuntu Server y RHEL:

   Para Windows Server:

   `before-install.bat`:

   ```
   set FOLDER=%HOMEDRIVE%\temp\CodeDeployExample
   
   if exist %FOLDER% (
     rd /s /q "%FOLDER%"
   )
   
   mkdir %FOLDER%
   ```

   `after-install.bat`:

   ```
   cd %HOMEDRIVE%\temp\CodeDeployExample
   
   echo The AfterInstall deployment lifecycle event successfully completed. > after-install.txt
   ```

   `application-start.bat`:

   ```
   cd %HOMEDRIVE%\temp\CodeDeployExample
   
   echo The ApplicationStart deployment lifecycle event successfully completed. > application-start.txt
   ```

   `validate-service.bat`:

   ```
   cd %HOMEDRIVE%\temp\CodeDeployExample
   
   echo The ValidateService deployment lifecycle event successfully completed. > validate-service.txt
   ```

   Para Ubuntu Server y RHEL:

   `before-install.sh`:

   ```
   #!/bin/bash
   export FOLDER=/tmp/CodeDeployExample
   
   if [ -d $FOLDER ]
   then
    rm -rf $FOLDER
   fi
   
   mkdir -p $FOLDER
   ```

   `after-install.sh`:

   ```
   #!/bin/bash
   cd /tmp/CodeDeployExample
   
   echo "The AfterInstall deployment lifecycle event successfully completed." > after-install.txt
   ```

   `application-start.sh`:

   ```
   #!/bin/bash
   cd /tmp/CodeDeployExample
   
   echo "The ApplicationStart deployment lifecycle event successfully completed." > application-start.txt
   ```

   `validate-service.sh`:

   ```
   #!/bin/bash
   cd /tmp/CodeDeployExample
   
   echo "The ValidateService deployment lifecycle event successfully completed." > validate-service.txt
   
   unset FOLDER
   ```

1. Solo para Ubuntu Server y RHEL, asegúrese de que los cuatro scripts de intérpretes de comandos tengan permisos de ejecución:

   ```
   chmod +x ./scripts/*
   ```