

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

# Tutorial: Implantar um aplicativo em uma instância local com CodeDeploy (Windows Server, Ubuntu Server ou Red Hat Enterprise Linux)
<a name="tutorials-on-premises-instance"></a>

Este tutorial ajuda você a ganhar experiência, CodeDeploy orientando você na implantação de uma amostra de revisão de aplicativo em uma única instância local, ou seja, um dispositivo físico que não é uma instância do Amazon EC2, executando Windows Server, Ubuntu Server ou Red Hat Enterprise Linux (RHEL). Para obter informações sobre instâncias locais e como elas funcionam CodeDeploy, consulte[Trabalhando com instâncias locais para CodeDeploy](instances-on-premises.md).

Não é o que você está procurando?
+ Para praticar a implantação em uma instância do Amazon EC2 executando o Amazon Linux ou RHEL, consulte [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).
+ Para praticar a implantação em uma instância do Amazon EC2 executando o Windows Server, consulte [Tutorial: implantar um aplicativo "Hello, World\$1" aplicativo com CodeDeploy (Windows Server)](tutorials-windows.md).

**Topics**
+ [Pré-requisitos](tutorials-on-premises-instance-prerequisites.md)
+ [Etapa 1: configurar a instância on-premises](tutorials-on-premises-instance-1-configure-instance.md)
+ [Etapa 2: criar uma revisão de aplicativo de amostra](tutorials-on-premises-instance-2-create-sample-revision.md)
+ [Etapa 3: agrupar e carregar sua revisão de aplicativo no Amazon S3](tutorials-on-premises-instance-3-bundle-sample-revision.md)
+ [Etapa 4: implantar sua revisão de aplicativo](tutorials-on-premises-instance-4-deploy-sample-revision.md)
+ [Etapa 5: verificar sua implantação](tutorials-on-premises-instance-5-verify-deployment.md)
+ [Etapa 6: limpar os recursos](tutorials-on-premises-instance-6-clean-up-resources.md)

# Pré-requisitos
<a name="tutorials-on-premises-instance-prerequisites"></a>

Antes de iniciar este tutorial, você deve preencher os pré-requisitos em[Começando com CodeDeploy](getting-started-codedeploy.md), que incluem configurar um usuário, instalar ou atualizar o e criar uma função de AWS CLI serviço. Não é necessário criar um perfil de instância do IAM, conforme descrito nos pré-requisitos. Instâncias on-premises não usam perfis de instâncias do IAM.

O dispositivo físico que você configurará como uma instância local deve estar executando um dos sistemas operacionais listados em [Sistemas operacionais suportados pelo CodeDeploy agente](codedeploy-agent.md#codedeploy-agent-supported-operating-systems).

# Etapa 1: configurar a instância on-premises
<a name="tutorials-on-premises-instance-1-configure-instance"></a>

Para poder implantar na sua instância local, você deve configurá-la. Siga as instruções em [Trabalhando com instâncias locais para CodeDeploy](instances-on-premises.md) e retorne para esta página.

## Instale o CodeDeploy agente
<a name="tutorials-on-premises-instance-1-configure-instance-agent"></a>

Depois de configurar sua instância local, siga as etapas para instâncias locais em [Instalar o CodeDeploy agente](https://docs.aws.amazon.com/codedeploy/latest/userguide/codedeploy-agent-operations-install.html) e volte para esta página.

# 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/*
   ```

# Etapa 3: agrupar e carregar sua revisão de aplicativo no Amazon S3
<a name="tutorials-on-premises-instance-3-bundle-sample-revision"></a>

Para poder implantar sua revisão de aplicativo, você precisará agrupar os arquivos e depois carregar o pacote de arquivos em um bucket do Amazon S3. Siga as instruções em [Crie um aplicativo com CodeDeploy](applications-create.md) e [Envie uma revisão CodeDeploy para o Amazon S3 (somente implantações EC2/locais)](application-revisions-push.md). (Embora você possa dar qualquer nome ao aplicativo e ao grupo de implantação, recomendamos usar `CodeDeploy-OnPrem-App` para o nome do aplicativo e `CodeDeploy-OnPrem-DG` para o nome do grupo de implantação.) Depois de concluir essas instruções, retorna para esta página. 

**nota**  
Como alternativa, você pode carregar o pacote de arquivos em um GitHub repositório e implantá-lo a partir daí. Para obter mais informações, consulte [Integrando com CodeDeploy GitHub](integrations-partners-github.md).

# Etapa 4: implantar sua revisão de aplicativo
<a name="tutorials-on-premises-instance-4-deploy-sample-revision"></a>

Depois de carregar sua revisão de aplicativo em um bucket do Amazon S3, tente implantá-la na sua instância on-premises. Siga as instruções em [Crie uma implantação com CodeDeploy](deployments-create.md) e retorne para esta página.

# Etapa 5: verificar sua implantação
<a name="tutorials-on-premises-instance-5-verify-deployment"></a>

Para verificar se a implantação foi bem-sucedida, siga as instruções em [Exibir detalhes CodeDeploy da implantação](deployments-view-details.md) e retorne para esta página.

Se a implantação foi bem-sucedida, você encontrará quatro arquivos de texto na pasta `c:\temp\CodeDeployExample` (para Windows Server) ou `/tmp/CodeDeployExample` (para Ubuntu Server e RHEL). 

Se a implantação tiver falhado, siga as etapas de solução de problemas em [Visualizar detalhes da instância com o CodeDeploy](instances-view-details.md) e [Solução de problemas de instância](troubleshooting-ec2-instances.md). Faça as correções necessárias, reagrupe e carregue sua revisão de aplicativo. Em seguida, tente a implantação novamente.

# Etapa 6: limpar os recursos
<a name="tutorials-on-premises-instance-6-clean-up-resources"></a>

Para evitar cobranças contínuas pelos recursos criados para este tutorial, exclua o bucket do Amazon S3 caso ele não seja mais utilizado. Você também pode limpar os recursos associados, como os registros do aplicativo e do grupo de implantação CodeDeploy e a instância local.

Você pode usar o AWS CLI ou uma combinação dos consoles Amazon S3 CodeDeploy e do Amazon S3 AWS CLI para limpar recursos. 

## Limpar recursos (CLI)
<a name="tutorials-on-premises-instance-6-clean-up-resources-cli"></a>

**Para excluir o bucket do Amazon S3**
+ Chame o comando [rm](https://docs.aws.amazon.com/cli/latest/reference/s3/rm.html) junto à opção `--recursive` para o bucket (por exemplo, `amzn-s3-demo-bucket`). O bucket e todos os objetos dentro dele serão excluídos. 

  ```
  aws s3 rm s3://your-bucket-name --recursive --region region
  ```

**Para excluir os registros do aplicativo e do grupo de implantação no CodeDeploy**
+ Chame o comando [delete-application](https://docs.aws.amazon.com/cli/latest/reference/deploy/delete-application.html) para o aplicativo (por exemplo, `CodeDeploy-OnPrem-App`). Os registros da implantação e do grupo de implantação serão excluídos. 

  ```
  aws deploy delete-application --application-name your-application-name
  ```<a name="tutorials-on-premises-instance-6-clean-up-resources-deregister-cli"></a>

**Para cancelar o registro da instância on-premises e excluir o usuário do IAM**
+ Chame o comando [deregister](https://docs.aws.amazon.com/cli/latest/reference/deploy/deregister.html) para a instância on-premises e a região:

  ```
  aws deploy deregister --instance-name your-instance-name --delete-iam-user --region your-region
  ```
**nota**  
Se não quiser excluir o usuário do IAM associado a essa instância on-premises, use a opção `--no-delete-iam-user` como alternativa.

**Para desinstalar o CodeDeploy agente e remover o arquivo de configuração da instância local**
+ Na instância on-premises, chame o comando [desinstalar](https://docs.aws.amazon.com/cli/latest/reference/deploy/uninstall.html):

  ```
  aws deploy uninstall
  ```

Você concluiu todas as etapas para limpar os recursos usados para esse tutorial.

## Limpar recursos (console)
<a name="tutorials-on-premises-instance-6-clean-up-resources-console"></a>

**Para excluir o bucket do Amazon S3**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon S3 em. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)

1. Escolha o ícone ao lado do bucket que deseja excluir (por exemplo, `amzn-s3-demo-bucket`), mas não escolha o bucket propriamente dito.

1. Escolha **Ações** e, em seguida, escolha **Excluir**. 

1. Quando solicitado a excluir o bucket, escolha **OK**. 

**Para excluir os registros do aplicativo e do grupo de implantação no CodeDeploy**

1. Faça login no Console de gerenciamento da AWS e abra o CodeDeploy console em [https://console.aws.amazon.com/codedeploy](https://console.aws.amazon.com/codedeploy).
**nota**  
Faça login com o mesmo usuário que você configurou em [Começando com CodeDeploy](getting-started-codedeploy.md).

1. No painel de navegação selecione **Applications (Aplicativos)**.

1. Escolha o nome do aplicativo que você deseja excluir (por exemplo, `CodeDeploy-OnPrem-App`) e escolha **Delete application (Excluir aplicativo)**.

1. Quando solicitado, digite o nome do aplicativo para confirmar que você deseja excluí-lo e, em seguida, escolha **Excluir**. 

Você não pode usar o AWS CodeDeploy console para cancelar o registro da instância local ou desinstalar o agente. CodeDeploy Siga as instruções em [Para cancelar o registro da instância on-premises e excluir o usuário do IAM](#tutorials-on-premises-instance-6-clean-up-resources-deregister-cli).