Paso 2: Crear una revisión de aplicación de ejemplo - 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: Crear una revisión de aplicación de ejemplo

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, AfterInstallApplicationStart, y. ValidateService Durante el evento del ciclo de vida de la BeforeInstallimplementació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 en el tutorial Tutorial: Implementación de una aplicación "Hello, World!" aplicación con CodeDeploy (Windows Server).

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 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).

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
  2. 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 yCodeDeploy AppSpec referencia de archivo.

    install.txt:

    The Install deployment lifecycle event successfully completed.
  3. 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
  4. 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
  5. 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/*