Etapa 2: criar uma revisão de aplicativo de amostra - AWS CodeDeploy

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Etapa 2: criar uma revisão de aplicativo de amostra

Nesta etapa, você cria uma revisão do aplicativo de amostra para implantar na instância no local.

Como é difícil saber quais softwares e atributos já estão instalados (ou podem ser instalados de acordo com as políticas da sua organização) na sua instância on-premises, a revisão de aplicativo de exemplo que oferecemos aqui usa simplesmente scripts em lote (para o Windows Server) ou scripts shell (para o Ubuntu Server e o RHEL) para gravar arquivos de texto em um localização na sua instância on-premises. Um arquivo é gravado para cada um dos vários eventos do ciclo de vida da CodeDeploy implantação, incluindo Instalação, AfterInstallApplicationStart, e. ValidateService Durante o evento do ciclo de vida da BeforeInstallimplantação, um script será executado para remover arquivos antigos gravados durante implantações anteriores dessa amostra e criar um local na sua instância local para gravar os novos arquivos.

nota

A implantação dessa revisão de aplicativo de amostra poderá falhar se qualquer uma das seguintes condições for verdadeira:

  • O usuário que inicia o CodeDeploy agente na instância local não tem permissão para executar scripts.

  • O usuário não tem permissão para criar ou excluir pastas nas localizações listadas nos scripts.

  • O usuário não tem permissão para criar arquivos de texto nas localizações listadas nos scripts.

nota

Se você tiver configurado uma instância do Windows Server e quiser implantar uma amostra diferente, convém usar aquela em Etapa 2: configurar seu conteúdo de origem para implantar na instância do Amazon EC2 do Windows Server no tutorial Tutorial: implantar um aplicativo "Hello, World!" aplicativo com CodeDeploy (Windows Server).

Se você tiver configurado uma instância do RHEL e quiser implantar uma amostra diferente, convém usar aquela em Etapa 2: Configure seu conteúdo de origem para ser implantado na instância Amazon Linux ou Red Hat Enterprise Linux Amazon EC2 no tutorial Tutorial: Implante WordPress em uma instância do Amazon EC2 (Amazon Linux ou Red Hat Enterprise Linux e Linux, macOS ou Unix).

Atualmente, não existe uma amostra alternativa para o Ubuntu Server.

  1. Na sua máquina de desenvolvimento, crie um subdiretório (subpasta) chamado CodeDeployDemo-OnPrem que armazenará os arquivos da revisão de aplicativo de amostra e, em seguida, mude para essa subpasta. Para este exemplo, assumimos que você usará c:\temp como a pasta raiz para o Windows Server ou a pasta /tmp como a pasta raiz para o Ubuntu Server e o RHEL. Se usar uma pasta diferente, certifique-se de usá-la no lugar das pastas acima neste tutorial:

    Para Windows:

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

    Para Linux, macOS ou Unix:

    mkdir /tmp/CodeDeployDemo-OnPrem cd /tmp/CodeDeployDemo-OnPrem
  2. Na raiz da subpasta CodeDeployDemo-OnPrem, use um editor de texto para criar os dois seguintes arquivos 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 e 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 obter mais informações sobre AppSpec arquivos, consulte Adicionar um arquivo de especificação do aplicativo a uma revisão do CodeDeploy CodeDeploy AppSpec referência de arquivo e.

    install.txt:

    The Install deployment lifecycle event successfully completed.
  3. Na raiz da subpasta CodeDeployDemo-OnPrem, crie uma subpasta scripts e, em seguida, mude para ela:

    Para Windows:

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

    Para Linux, macOS ou Unix:

    mkdir -p /tmp/CodeDeployDemo-OnPrem/scripts cd /tmp/CodeDeployDemo-OnPrem/scripts
  4. Na raiz da subpasta scripts, use um editor de texto para criar os quatro seguintes arquivos before-install.bat, after-install.bat, application-start.bat e validate-service.bat para Windows Server, ou before-install.sh, after-install.sh, application-start.sh e validate-service.sh para Ubuntu Server e 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 e 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. Somente para o Ubuntu Server e o RHEL, certifique-se de que os quatro scripts de shell tenham permissões de execução:

    chmod +x ./scripts/*