

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
<a name="tutorials-on-premises-instance-2-create-sample-revision"></a>

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**, **AfterInstall**ApplicationStart****, e. **ValidateService** Durante o evento do ciclo de vida da **BeforeInstall**implantaçã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](tutorials-windows-configure-content.md) no tutorial [Tutorial: implantar um aplicativo "Hello, World\$1" aplicativo com CodeDeploy (Windows Server)](tutorials-windows.md).  
Se você tiver configurado uma instância do RHEL e quiser implantar uma amostra diferente, convém usar aquela em [Etapa 2: configurar seu conteúdo de origem para ser implantado na instância Amazon Linux ou Red Hat Enterprise Linux instância do Amazon EC2](tutorials-wordpress-configure-content.md) no tutorial [Tutorial: Implante WordPress em uma instância do Amazon EC2 (Amazon Linux ou Red Hat Enterprise Linux e Linux, macOS ou Unix)](tutorials-wordpress.md).  
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
   ```

1. 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](application-revisions-appspec-file.md) [CodeDeploy AppSpec referência de arquivo](reference-appspec-file.md) e.

   `install.txt`:

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

1. 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
   ```

1. 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
   ```

1. 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/*
   ```