

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

# Implementação de aplicativos
<a name="workingapps-deploying"></a>

**Importante**  
O AWS OpsWorks Stacks serviço chegou ao fim da vida útil em 26 de maio de 2024 e foi desativado para clientes novos e existentes. É altamente recomendável que os clientes migrem suas cargas de trabalho para outras soluções o mais rápido possível. Se você tiver dúvidas sobre migração, entre em contato com a AWS Support equipe no [AWS re:POST](https://repost.aws/) ou por meio do Premium [AWS Support](https://aws.amazon.com/support).

O objetivo principal da implementação é implementar código de aplicativo e arquivos relacionados em instâncias do servidor de aplicativos. A operação de implementação é processada pelas receitas de Implementação de cada Instância, determinadas pela camada da instância.

Quando você inicia uma instância, após a conclusão das receitas de configuração, o OpsWorks Stacks executa automaticamente as receitas de implantação da instância. No entanto, ao adicionar ou modificar um aplicativo, você deve implementá-lo manualmente em quaisquer instâncias online. Você deve ter as permissões Gerenciar ou Implementar para implementar um aplicativo. Para obter mais informações, consulte [Gerenciamento de permissões de usuário](opsworks-security-users.md).

**Para implementar um aplicativo**

1. Na página **Apps**, clique na ação **deploy** do aplicativo.  
![\[Apps page showing SimplePHP app with deploy, edit, and delete action options.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/apps_with_content.png)
**nota**  
Você também pode implementar um aplicativo clicando em **Deployments **no painel de navegação. Na página **Deployments & Commands**, clique em **Deploy an app**. Ao fazer isso, você também pode escolher qual aplicativo implementar.

1. Especifique o seguinte:
   + (Obrigatório) Defina **Command:** como **deploy**, se ainda não estiver selecionado.
   + (Opcional) Inclua um comentário. 

1. Clique em **Avançado >>** para especificar o JSON personalizado. OpsWorks O Stacks adiciona um conjunto de [atributos de configuração e implantação da pilha ao objeto](workingcookbook-json.md) do nó. Os atributos `deploy` contêm os detalhes de implementação e podem ser usados pelas receitas de Implementação para cuidar da instalação e configuração. Nas pilhas do Linux, você pode usar o campo JSON personalizado para [substituir as configurações padrão das OpsWorks pilhas ou passar as configurações](workingcookbook-json-override.md) personalizadas para suas receitas personalizadas. Para obter mais informações sobre como usar JSON personalizado, consulte [Usar JSON personalizado](workingstacks-json.md).
**nota**  
Se você especificar JSON personalizado aqui, ele é adicionado aos atributos de implementação e configuração da pilha apenas para essa implementação. Se você deseja adicionar JSON personalizado permanentemente, você deve [adicioná-lo à pilha](workingstacks-json.md). JSON personalizado é limitado a 120 KB. Caso precise de mais capacidade, recomendamos armazenar alguns dados no Amazon S3. Suas receitas personalizadas podem então usar a CLI da AWS ou o [AWS SDK para Ruby](https://aws.amazon.com/documentation/sdk-for-ruby/) para fazer download dos dados do bucket para sua instância. Para ver um exemplo, consulte [Usar o SDK for Ruby](cookbooks-101-opsworks-s3.md).

1. Em **Instances**, clique em **Advanced >>** e especifique em quais instâncias executar o comando de implementação.

   O comando de implementação aciona um evento Implementar, que executa as receitas de implementação nas instâncias selecionadas. As receitas de implementação do servidor de aplicativo associado baixa o código e os arquivos relacionados do repositório e os instala na instância, portanto você normalmente seleciona todas as instâncias do servidor de aplicativo associado. No entanto, outros tipos de instâncias podem exigir algumas alterações na configuração para acomodar o novo aplicativo, portanto geralmente é útil executar as receitas de implementação nessas instâncias também. Essas receitas atualizam a configuração conforme necessário, mas não instalam os arquivos do aplicativo. Para obter mais informações sobre receitas, consulte [Livros de receitas e receitas](workingcookbook.md).

1. Clique em **Deploy** para executar as receitas de implementação nas instâncias especificadas, o que irá exibir a página Implementação. Quando o processo estiver concluído, o OpsWorks Stacks marca o aplicativo com uma marca verde para indicar a implantação bem-sucedida. Se a implantação falhar, o OpsWorks Stacks marca o aplicativo com um X vermelho. Nesse caso, você pode acessar a página **Implantações** e examinar o registro de implantação para obter mais informações.  
![\[Deployment status page showing successful deployment of PHPTestApp with details.\]](http://docs.aws.amazon.com/pt_br/opsworks/latest/userguide/images/deployed_app.png)

**nota**  
Quando você implanta uma atualização em um aplicativo JSP, o Tomcat pode não reconhecer a atualização e, em vez disso, continuar a executar a versão do aplicativo existente. Isso pode acontecer, por exemplo, se você implantar seu aplicativo como um arquivo.zip que contém apenas uma página JSP. Para garantir que o Tomcat execute a última versão implementada, o diretório raiz do projeto deve incluir um diretório WEB-INF que contenha um arquivo `web.xml`. Um arquivo `web.xml` pode conter uma variedade de conteúdos, mas o conteúdo a seguir é suficiente para garantir que o Tomcat reconheça as atualizações e execute a última versão implementada do aplicativo. Você não precisa alterar a versão para cada atualização. O Tomcat reconhecerá a atualização mesmo se a versão não tiver sido alterada.  

```
<context-param>
  <param-name>appVersion</param-name>
  <param-value>0.1</param-value>
</context-param>
```

## Outros comandos de implementação
<a name="workingapps-deploying-other"></a>

A página **Deploy app** inclui vários outros comandos para gerenciar seus aplicativos e os servidores associados. Dos comandos a seguir, somente **Undeploy** está disponível para aplicativos nas pilhas do Chef 12.

**Desfazer a Implementação**  
Aciona um [evento do ciclo de vida](workingcookbook-events.md) para Desfazer a Implementação, que executa as receitas apropriadas para remover todas as versões do aplicativo das instâncias especificadas.

**Reversão**  
Restaura a versão do aplicativo implantada anteriormente. Por exemplo, se você implementou o aplicativo três vezes e, em seguida, executou **Rollback**, o servidor irá servir o aplicativo da segunda implementação. Se você executar **Rollback** novamente, o servidor irá servir o aplicativo na primeira implantação. Por padrão, o OpsWorks Stacks armazena as cinco implantações mais recentes, o que permite reverter até quatro versões. Caso exceda o número de versões armazenadas, o comando falha e deixa a versão mais antiga em vigor. Este comando não está disponível nas pilhas do Chef 12.

**Iniciar o Servidor Web**  
Executa as receitas que iniciam o servidor do aplicativo nas instâncias especificadas. Este comando não está disponível nas pilhas do Chef 12.

**Parar o Servidor Web**  
Executa as receitas que param o servidor do aplicativo nas instâncias especificadas. Este comando não está disponível nas pilhas do Chef 12.

**Reiniciar o Servidor Web**  
Executa as receitas que reiniciam o servidor do aplicativo nas instâncias especificadas. Este comando não está disponível nas pilhas do Chef 12.

**Importante**  
**Start Web Server**, **Stop Web Server**, **Restart Web Server** e **Rollback** são versões personalizadas do [comando de pilha Executar receitas](workingstacks-commands.md). Eles executam um conjunto de receitas que realizam a tarefa nas instâncias especificadas.  
Esses comandos não acionam um evento de ciclo de vida, portanto você não pode conectá-los para executar o código personalizado.
Esses comandos funcionam apenas para as [camadas do servidor de aplicativo](workinglayers-servers.md) integradas.  
Especificamente, esses comandos não afetam as camadas personalizadas, mesmo que elas ofereçam suporte ao servidor de aplicativo. Para iniciar, parar ou reiniciar servidores em uma camada personalizada, você deve implementar receitas personalizadas para realizar essas tarefas e usar o [comando de pilha para Executar Receitas](workingstacks-commands.md) para executá-las. Para obter mais informações sobre como implementar e instalar receitas personalizadas, consulte [Livros de receitas e receitas](workingcookbook.md).