

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

# Integrações de produtos e serviços com CodeDeploy
<a name="integrations"></a>

Por padrão, CodeDeploy se integra a vários AWS serviços e produtos e serviços de parceiros. As informações a seguir podem ajudá-lo a configurar CodeDeploy a integração com os produtos e serviços que você usa. 
+ [Integração com outros AWS serviços](integrations-aws.md)
+  [Integração com produtos e serviços de parceiros](integrations-partners.md)
+ [Exemplos de integração da comunidade](integrations-community.md)

# Integração com outros AWS serviços
<a name="integrations-aws"></a>

CodeDeploy está integrado aos seguintes AWS serviços:


|  |  | 
| --- |--- |
| Amazon CloudWatch |  [A Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/) é um serviço de monitoramento dos recursos da AWS nuvem e dos aplicativos em que você executa AWS. Você pode usar CloudWatch a Amazon para coletar e rastrear métricas, coletar e monitorar arquivos de log e definir alarmes. CodeDeploy suporta as seguintes CloudWatch ferramentas:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codedeploy/latest/userguide/integrations-aws.html)  | 
| Amazon EC2 Auto Scaling |  CodeDeploy oferece suporte ao [Amazon EC2 Auto Scaling](https://aws.amazon.com/autoscaling). Esse AWS serviço pode iniciar automaticamente instâncias do Amazon EC2 com base nos critérios que você especificar, por exemplo:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codedeploy/latest/userguide/integrations-aws.html) Você pode escalar um grupo de instâncias do Amazon EC2 sempre que precisar delas e depois usá-las CodeDeploy para implantar revisões de aplicativos nelas automaticamente. O Amazon EC2 Auto Scaling encerra essas instâncias do Amazon EC2 quando elas não são mais necessárias. Saiba mais: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codedeploy/latest/userguide/integrations-aws.html)  | 
| Amazon Elastic Container Service |   Você pode usar CodeDeploy para implantar um aplicativo em contêineres do Amazon ECS como um conjunto de tarefas. CodeDeploy executa uma blue/green implantação instalando uma versão atualizada do aplicativo como um novo conjunto de tarefas de substituição. CodeDeploy redireciona o tráfego de produção do conjunto de tarefas original do aplicativo para o conjunto de tarefas de substituição. O conjunto de tarefas original é encerrado após uma implantação bem-sucedida. Para obter mais informações sobre o Amazon ECS, consulte [Amazon Elastic Container Service](https://aws.amazon.com/ecs/).  Você pode gerenciar a forma como o tráfego é transferido para o conjunto de tarefas atualizado durante uma implantação escolhendo uma configuração canária, linear ou all-at-once linear. Para obter mais informações sobre implantações do Amazon ECS, consulte [Implantações em uma plataforma de computação do Amazon ECS](https://docs.aws.amazon.com/en_us/codedeploy/latest/userguide/deployment-steps-ecs.html).   | 
| AWS CloudTrail |  CodeDeploy está integrado com [AWS CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/). Esse serviço captura chamadas de API feitas por ou em nome de CodeDeploy sua AWS conta e entrega os arquivos de log para um bucket do Amazon S3 que você especificar. CloudTrailcaptura chamadas de API do CodeDeploy console, de CodeDeploy comandos por meio do AWS CLI ou CodeDeploy APIs diretamente do. Usando as informações coletadas pelo CloudTrail, você pode determinar: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codedeploy/latest/userguide/integrations-aws.html) Saiba mais: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codedeploy/latest/userguide/integrations-aws.html)  | 
| AWS Cloud9 |  [AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/)é um ambiente de desenvolvimento integrado (IDE) on-line e baseado em nuvem que você pode usar para escrever, executar, depurar e implantar código usando apenas um navegador de uma máquina conectada à Internet. AWS Cloud9 inclui um editor de código, depurador, terminal e ferramentas essenciais, como o e o Git. AWS CLI  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codedeploy/latest/userguide/integrations-aws.html) Para obter mais informações sobre AWS Cloud9, consulte [O que é AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/welcom.html) e [Como começar a usar AWS Cloud9](https://docs.aws.amazon.com/cloud9/latest/user-guide/get-started.html).  | 
| AWS CodePipeline |  [AWS CodePipeline](https://docs.aws.amazon.com/codepipeline/latest/userguide/) é um serviço de entrega contínua que você pode usar para modelar, visualizar e automatizar as etapas necessárias para lançar seu software em um processo de entrega contínua. Você pode usar o AWS CodePipeline para definir seu próprio processo de lançamento, para que o serviço crie, teste e implante seu código toda vez que houver uma mudança de código. Por exemplo, você pode ter três grupos de implantação para um aplicativo: Beta, Gamma e Prod. Você pode configurar um pipeline de forma que, cada vez que houver uma mudança no código-fonte, as atualizações sejam implantadas em cada grupo de implantação, uma a uma. Você pode configurar AWS CodePipeline para usar CodeDeploy para implantar: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codedeploy/latest/userguide/integrations-aws.html)  Você pode criar o CodeDeploy aplicativo, a implantação e o grupo de implantação para usar em uma ação de implantação em um estágio antes de criar o pipeline ou no assistente **Create Pipeline**. Saiba mais: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codedeploy/latest/userguide/integrations-aws.html)  | 
| AWS Modelo de aplicativo sem servidor |  AWS O Serverless Application Model (AWS SAM) é um modelo para definir aplicativos sem servidor. Ele se estende CloudFormation para fornecer uma forma simplificada de definir AWS Lambda funções, tabelas do Amazon API Gateway APIs e do Amazon DynamoDB exigidas por um aplicativo sem servidor. Se você já usa o AWS SAM, pode adicionar preferências de implantação para começar a usar CodeDeploy para gerenciar a forma como o tráfego é deslocado durante a implantação de um aplicativo AWS Lambda. Para obter mais informações, consulte [AWS Serveless Application Model](https://github.com/awslabs/serverless-application-model).  | 
| Elastic Load Balancing |  CodeDeploy suporta o [Elastic Load Balancing](https://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/elastic-load-balancing.html), um serviço que distribui o tráfego de entrada do aplicativo em várias instâncias do Amazon EC2.  Para CodeDeploy implantações, os balanceadores de carga também evitam que o tráfego seja roteado para instâncias quando elas não estão prontas, estão sendo implantadas no momento ou não são mais necessárias como parte de um ambiente. Saiba mais: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codedeploy/latest/userguide/integrations-aws.html)  | 

**Topics**
+ [Amazon EC2 Auto Scaling](integrations-aws-auto-scaling.md)
+ [Integrating CodeDeploy with Elastic Load Balancing](integrations-aws-elastic-load-balancing.md)

# Integração CodeDeploy com o Amazon EC2 Auto Scaling
<a name="integrations-aws-auto-scaling"></a>

CodeDeploy oferece suporte ao Amazon EC2 Auto Scaling AWS , um serviço que lança instâncias do Amazon EC2 automaticamente de acordo com as condições definidas por você. Essas condições podem incluir limites excedidos em um intervalo de tempo especificado para utilização da CPU, leituras ou gravações de disco ou tráfego de rede de entrada ou saída. O Amazon EC2 Auto Scaling encerra as instâncias quando elas não são mais necessárias. Para obter mais informações, consulte [O que é o Amazon EC2 Auto Scaling?](https://docs.aws.amazon.com/autoscaling/latest/userguide/WhatIsAutoScaling.html) no *Guia do usuário do Amazon EC2 Auto Scaling*.

Quando novas instâncias do Amazon EC2 são lançadas como parte de um grupo do Amazon EC2 Auto Scaling CodeDeploy , você pode implantar suas revisões nas novas instâncias automaticamente. Você também pode coordenar implantações com instâncias do Amazon EC2 Auto Scaling registradas CodeDeploy com balanceadores de carga do Elastic Load Balancing. Para obter mais informações, consulte [Integração CodeDeploy com o Elastic Load Balancing](integrations-aws-elastic-load-balancing.md) e [Configure um balanceador de carga no Elastic Load Balancing para implantações do Amazon CodeDeploy EC2](deployment-groups-create-load-balancer.md).

**nota**  
Lembre-se de que você pode ter problemas se associar vários grupos de implantação a um único grupo do Amazon EC2 Auto Scaling. Se uma implantação falhar, por exemplo, a instância começará a ser desligada, mas as outras implementações que estavam em execução poderão demorar uma hora para atingirem o tempo limite. Para obter mais informações, consulte [Evite associar vários grupos de implantação a um único grupo de Amazon EC2 Auto Scaling](troubleshooting-auto-scaling.md#troubleshooting-multiple-depgroups) [Under the hood: CodeDeploy and Amazon EC2 Auto](https://aws.amazon.com/blogs/devops/under-the-hood-aws-codedeploy-and-auto-scaling-integration/) Scaling integration.

**Topics**
+ [Implantação de CodeDeploy aplicativos em grupos do Amazon EC2 Auto Scaling](#integrations-aws-auto-scaling-deploy)
+ [Ativar implantações de encerramento durante eventos de redução da escala horizontal do Auto Scaling](#integrations-aws-auto-scaling-behaviors-hook-enable)
+ [Como o Amazon EC2 Auto Scaling funciona com CodeDeploy](#integrations-aws-auto-scaling-behaviors)
+ [Usando uma AMI personalizada com o CodeDeploy Amazon EC2 Auto Scaling](#integrations-aws-auto-scaling-custom-ami)

## Implantação de CodeDeploy aplicativos em grupos do Amazon EC2 Auto Scaling
<a name="integrations-aws-auto-scaling-deploy"></a>

Para implantar uma revisão CodeDeploy do aplicativo em um grupo do Amazon EC2 Auto Scaling:

1. Crie ou localize um perfil de instância do IAM que permita que o grupo do Amazon EC2 Auto Scaling funcione com o Amazon S3. Para obter mais informações, consulte [Etapa 4: criar um perfil de instância do IAM para as suas instâncias do Amazon EC2](getting-started-create-iam-instance-profile.md).
**nota**  
Você também pode usar CodeDeploy para implantar revisões de GitHub repositórios para grupos do Amazon EC2 Auto Scaling. Embora as instâncias do Amazon EC2 ainda exijam um perfil de instância do IAM, o perfil não precisa de nenhuma permissão adicional para ser implantado a partir de um GitHub repositório. 

1. Crie ou use um grupo do Amazon EC2 Auto Scaling, especificando o perfil de instância do IAM no modelo ou na configuração de execução. Para obter mais informações, consulte [Perfil do IAM para aplicativos que são executados em instâncias do Amazon EC2](https://docs.aws.amazon.com/autoscaling/ec2/userguide/us-iam-role.html).

1. Crie ou localize uma função de serviço que permita CodeDeploy criar um grupo de implantação que contenha o grupo Amazon EC2 Auto Scaling.

1. Crie um grupo de implantação com CodeDeploy, especificando o nome do grupo Amazon EC2 Auto Scaling, a função do serviço e algumas outras opções. Para acessar mais informações, consulte [Criar um grupo de implantação para uma implantação no local (console)](deployment-groups-create-in-place.md) ou [Criar um grupo de implantação para uma implantação no local (console)](deployment-groups-create-in-place.md).

1. Use CodeDeploy para implantar sua revisão no grupo de implantação que contém o grupo Amazon EC2 Auto Scaling.

Para obter mais informações, consulte [Tutorial: Use CodeDeploy para implantar um aplicativo em um grupo do Auto Scaling](tutorials-auto-scaling-group.md).

## Ativar implantações de encerramento durante eventos de redução da escala horizontal do Auto Scaling
<a name="integrations-aws-auto-scaling-behaviors-hook-enable"></a>

Uma *implantação de encerramento* é um tipo de CodeDeploy implantação que é ativada automaticamente quando ocorre um evento de expansão do Auto [Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-lifecycle.html#as-lifecycle-scale-in). CodeDeploy executa a implantação de encerramento logo antes do serviço Auto Scaling encerrar a instância. Durante uma implantação de encerramento, CodeDeploy não implanta nada. Em vez disso, ele gera eventos de ciclo de vida, que você pode fazer hook com seus próprios scripts para ativar a funcionalidade de encerramento personalizada. Por exemplo, você pode fazer hook do evento de ciclo de vida `ApplicationStop` em um script que encerra a aplicação, normalmente antes da instância ser encerrada. 

Para obter uma lista dos eventos do ciclo de vida que são CodeDeploy gerados durante uma implantação de encerramento, consulte. [Disponibilidade de hooks de eventos de ciclo de vida](reference-appspec-file-structure-hooks.md#reference-appspec-file-structure-hooks-availability) 

Se a implantação de encerramento falhar por qualquer motivo, CodeDeploy permitirá que o encerramento da instância continue. Isso significa que a instância será encerrada mesmo que CodeDeploy não tenha executado o conjunto completo (ou nenhum) dos eventos do ciclo de vida até a conclusão.

Se você não habilitar implantações de encerramento, o serviço Auto Scaling ainda encerrará as instâncias do Amazon EC2 quando ocorrer CodeDeploy um evento de escalabilidade, mas não gerará eventos de ciclo de vida.

**nota**  
Independentemente de você ativar ou não implantações de encerramento, se o serviço Auto Scaling encerrar uma instância do Amazon EC2 enquanto a implantação estiver em andamento, poderá ocorrer CodeDeploy uma condição de corrida entre os eventos do ciclo de vida gerados pelo Auto Scaling e os serviços. CodeDeploy Por exemplo, o evento de `Terminating` ciclo de vida (gerado pelo serviço Auto Scaling) pode substituir `ApplicationStart` o evento (gerado pela implantação). CodeDeploy Nesse cenário, você pode enfrentar uma falha no encerramento da instância do Amazon EC2 ou na CodeDeploy implantação.

**Para permitir a execução CodeDeploy de implantações de rescisão**
+ Marque a caixa de seleção **Adicionar um hook de encerramento aos grupos do Auto Scaling** ao criar ou atualizar o grupo de implantação. Para obter instruções, consulte [Criar um grupo de implantação para uma implantação no local (console)](deployment-groups-create-in-place.md) ou [Crie um grupo de implantação para uma blue/green implantação EC2/local (console)](deployment-groups-create-blue-green.md).

  Ativar essa caixa de seleção faz CodeDeploy com que um [gancho de ciclo de vida do Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) seja instalado nos grupos do Auto Scaling que você especifica ao criar ou atualizar seu grupo de implantação. CodeDeploy Esse hook é chamado de *hook de encerramento* e permite implantações de encerramento.

**Depois que o hook de encerramento é instalado, um evento de redução da escala horizontal (encerramento) ocorre da seguinte forma:**

1. O serviço de Auto Scaling (ou simplesmente o Auto Scaling) determina que uma redução da escala horizontal precisa ocorrer e entra em contato com o serviço EC2 para encerrar uma nova instância do EC2.

1. O serviço EC2 começa a encerrar a instância do EC2. A instância se move para o estado `Terminating` e depois para o estado `Terminating:Wait`. 

1. Durante`Terminating:Wait`, o Auto Scaling executa todos os ganchos do ciclo de vida conectados ao grupo Auto Scaling, incluindo o gancho de terminação instalado pelo. CodeDeploy

1. O gancho de terminação envia uma notificação para a [fila do Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html) que é pesquisada por. CodeDeploy

1. Ao receber a notificação, CodeDeploy analisa a mensagem, realiza alguma validação e executa uma [implantação de encerramento](#integrations-aws-auto-scaling-behaviors-hook-enable).

1. Enquanto a implantação de encerramento está em execução, CodeDeploy envia pulsações a cada cinco minutos para o Auto Scaling para que ele saiba que a instância ainda está sendo trabalhada.

1. Até o momento, a instância do EC2 ainda está no estado `Terminating:Wait` (ou possivelmente no estado `Warmed:Pending:Wait`, se você tiver ativado [Pools de aquecimento de grupos do Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/warm-pool-instance-lifecycle.html)).

1. Quando a implantação é concluída, CodeDeploy indica ao Auto Scaling `CONTINUE` o processo de encerramento do EC2, independentemente de a implantação de encerramento ter sido bem-sucedida ou falhada.

## Como o Amazon EC2 Auto Scaling funciona com CodeDeploy
<a name="integrations-aws-auto-scaling-behaviors"></a>

Quando você cria ou atualiza um grupo de CodeDeploy implantação para incluir um grupo do Auto Scaling, CodeDeploy acessa o grupo do Auto Scaling usando a função de CodeDeploy serviço e, em seguida, instala os ganchos do [ciclo de vida do Auto Scaling nos grupos do Auto](https://docs.aws.amazon.com/autoscaling/ec2/userguide/lifecycle-hooks.html) Scaling.

**nota**  
Os *ganchos de ciclo de vida do Auto Scaling* são diferentes dos eventos de *ciclo de vida (também chamados de ganchos de eventos* *de ciclo* de vida) gerados e descritos neste guia. CodeDeploy [AppSpec seção 'ganchos'](reference-appspec-file-structure-hooks.md)

Os ganchos do ciclo de vida do Auto Scaling que são instalados são: CodeDeploy 
+ **Um gancho de lançamento** — Esse gancho notifica CodeDeploy que um evento de expansão do Auto [Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-lifecycle.html#as-lifecycle-scale-out) está em andamento e CodeDeploy que precisa iniciar uma implantação de lançamento.

  Durante uma *implantação de lançamento*, CodeDeploy:
  + Implanta uma revisão da aplicação na instância com aumento da escala horizontal.
  + Gera eventos do ciclo de vida para indicar o progresso da implantação. Você pode fazer hook desses eventos do ciclo de vida em seus próprios scripts para ativar a funcionalidade de inicialização personalizada. Para obter mais informações, consulte a tabela em [Disponibilidade de hooks de eventos de ciclo de vida](reference-appspec-file-structure-hooks.md#reference-appspec-file-structure-hooks-availability).

  O hook de inicialização e a implantação de inicialização associada estão sempre ativados e não podem ser desativados.
+ **Um gancho de terminação** — Esse gancho opcional notifica CodeDeploy que um evento de [escalonamento do Auto Scaling está em](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-lifecycle.html#as-lifecycle-scale-in) andamento e CodeDeploy que precisa iniciar uma implantação de terminação.

  Durante uma *implantação de encerramento*, CodeDeploy gera eventos de ciclo de vida para indicar o progresso do desligamento da instância. Para obter mais informações, consulte [Ativar implantações de encerramento durante eventos de redução da escala horizontal do Auto Scaling](#integrations-aws-auto-scaling-behaviors-hook-enable).

**Topics**
+ [Depois de CodeDeploy instalar os ganchos de ciclo de vida, como eles são usados?](#integrations-aws-auto-scaling-behaviors-hook-usage)
+ [Como CodeDeploy nomeia os grupos do Amazon EC2 Auto Scaling](#integrations-aws-auto-scaling-behaviors-naming)
+ [Ordem de execução de eventos de gancho do ciclo de vida personalizados](#integrations-aws-auto-scaling-behaviors-hook-order)
+ [Eventos de aumento de escala durante uma implantação](#integrations-aws-auto-scaling-behaviors-mixed-environment)
+ [Eventos de redução da escala horizontal durante uma implantação](#integrations-aws-auto-scaling-behaviors-scale-in)
+ [Ordem dos eventos nos scripts AWS CloudFormation cfn-init](#integrations-aws-auto-scaling-behaviors-event-order)

### Depois de CodeDeploy instalar os ganchos de ciclo de vida, como eles são usados?
<a name="integrations-aws-auto-scaling-behaviors-hook-usage"></a>

Depois que os ganchos do ciclo de vida de lançamento e encerramento são instalados, eles são usados durante os eventos de expansão e CodeDeploy expansão de grupos do Auto Scaling, respectivamente.

**Um evento de aumento da escala horizontal (inicialização) ocorre da seguinte forma:**

1. O serviço de auste de escala automático (ou simplesmente ajuste de escala automático) determina que um evento de aumento de escala horizontal precisa ocorrer e entra em contato com o serviço EC2 para iniciar uma nova instância do EC2.

1. O serviço do EC2 inicia uma nova instância do EC2. A instância se move para o estado `Pending` e depois para o estado `Pending:Wait`. 

1. Durante`Pending:Wait`, o Auto Scaling executa todos os ganchos do ciclo de vida conectados ao grupo Auto Scaling, incluindo o gancho de lançamento instalado pelo. CodeDeploy

1. O gancho de lançamento envia uma notificação para a [fila do Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html) que é pesquisada por. CodeDeploy

1. Ao receber a notificação, CodeDeploy analisa a mensagem, realiza alguma validação e inicia uma [implantação de lançamento](#launch-deployment).

1. Enquanto a implantação de lançamento está em execução, CodeDeploy envia pulsações a cada cinco minutos para o Auto Scaling para que ele saiba que a instância ainda está sendo trabalhada.

1. Até o momento, a instância do EC2 ainda está no estado `Pending:Wait`.

1. Quando a implantação for concluída, CodeDeploy indica ao Auto Scaling `CONTINUE` um `ABANDON` ou o processo de inicialização do EC2, dependendo se a implantação foi bem-sucedida ou falhou.
   + Se CodeDeploy indicado`CONTINUE`, o Auto Scaling continua o processo de inicialização, aguardando a conclusão de outros ganchos ou colocando a instância no estado `Pending:Proceed` e depois no estado. `InService`
   + **Se CodeDeploy indicado`ABANDON`, o Auto Scaling encerra a instância do EC2 e reinicia o procedimento de inicialização, se necessário, para atender ao número desejado de instâncias, conforme definido na configuração de Capacidade Desejada do Auto Scaling.**

**Um evento de redução da escala horizontal (encerramento) ocorre da seguinte forma:**

Consulte [Ativar implantações de encerramento durante eventos de redução da escala horizontal do Auto Scaling](#integrations-aws-auto-scaling-behaviors-hook-enable).

### Como CodeDeploy nomeia os grupos do Amazon EC2 Auto Scaling
<a name="integrations-aws-auto-scaling-behaviors-naming"></a>

 

Durante blue/green as implantações em uma plataforma de computação EC2/local, você tem duas opções para adicionar instâncias ao seu ambiente substituto (verde):
+  Use instâncias já existentes ou que você cria manualmente. 
+  Use as configurações de um grupo do Amazon EC2 Auto Scaling especificado para definir e criar instâncias em um novo grupo do Amazon EC2 Auto Scaling. 

 Se você escolher a segunda opção, CodeDeploy provisiona um novo grupo do Amazon EC2 Auto Scaling para você. Ele usa a seguinte convenção para nomear o grupo: 

```
CodeDeploy_deployment_group_name_deployment_id
```

Por exemplo, se uma implantação com ID `10` implantar um grupo de implantação denominado `alpha-deployments`, o grupo provisionado do Amazon EC2 Auto Scaling se chamará `CodeDeploy_alpha-deployments_10`. Para obter mais informações, consulte [Crie um grupo de implantação para uma blue/green implantação EC2/local (console)](deployment-groups-create-blue-green.md) e [GreenFleetProvisioningOption](https://docs.aws.amazon.com/codedeploy/latest/APIReference/API_GreenFleetProvisioningOption.html).

### Ordem de execução de eventos de gancho do ciclo de vida personalizados
<a name="integrations-aws-auto-scaling-behaviors-hook-order"></a>

Você pode adicionar seus próprios ganchos de ciclo de vida aos grupos do Amazon EC2 Auto Scaling nos quais são implantados. CodeDeploy No entanto, a ordem na qual esses eventos de gancho de ciclo de vida personalizados são executados não pode ser predeterminada em relação aos eventos CodeDeploy padrão do ciclo de vida de implantação. Por exemplo, se você adicionar um gancho de ciclo de vida personalizado chamado `ReadyForSoftwareInstall` a um grupo do Amazon EC2 Auto Scaling, não poderá saber de antemão se ele será executado antes do primeiro ou depois do último evento de ciclo de vida de implantação padrão. CodeDeploy

Para saber como adicionar ganchos do ciclo de vida personalizados em um grupo do Amazon EC2 Auto Scaling, consulte [Adição de ganchos de ciclo de vida](https://docs.aws.amazon.com/autoscaling/latest/userguide/lifecycle-hooks.html#adding-lifecycle-hooks) no *Guia do usuário do Amazon EC2 Auto Scaling*.

### Eventos de aumento de escala durante uma implantação
<a name="integrations-aws-auto-scaling-behaviors-mixed-environment"></a>

Se um evento de aumento da escala horizontal do Auto Scaling ocorrer enquanto uma implantação estiver em andamento, as novas instâncias serão atualizadas com a revisão da aplicação que foi implantada anteriormente, não com a revisão da aplicação mais recente. Se a implantação for bem-sucedida, as instâncias antigas e as instâncias recém-aumentadas em escala hospedarão diferentes revisões de aplicativos. Para atualizar as instâncias com a revisão mais antiga, inicia CodeDeploy automaticamente uma implantação subsequente (imediatamente após a primeira) para atualizar todas as instâncias desatualizadas. Se você quiser alterar esse comportamento padrão para que as instâncias desatualizadas do EC2 sejam deixadas na revisão mais antiga, consulte [Automatic updates to outdated instances](deployment-groups-configure-advanced-options.md#auto-updates-outdated-instances).

Se você quiser suspender os processos de escalabilidade horizontal do Amazon EC2 Auto Scaling enquanto as implantações estão ocorrendo, você pode fazer isso por meio de uma configuração no script que é usada para balanceamento de `common_functions.sh` carga com. CodeDeploy Se `HANDLE_PROCS=true`, os seguintes eventos do Auto Scaling serão suspensos automaticamente durante o processo de implantação: 
+ AZRebalance
+ AlarmNotification
+ ScheduledActions
+ ReplaceUnhealthy

**Importante**  
Somente CodeDeployDefault o. OneAtATime a configuração de implantação oferece suporte a essa funcionalidade.

Para obter mais informações sobre como usar `HANDLE_PROCS=true` para evitar problemas de implantação ao usar o Amazon EC2 Auto Scaling[, consulte Aviso importante AutoScaling sobre](https://github.com/awslabs/aws-codedeploy-samples/tree/master/load-balancing/elb#important-notice-about-handling-autoscaling-processes) como lidar com [aws-codedeploy-samples](https://github.com/awslabs/aws-codedeploy-samples)processos em on. GitHub

### Eventos de redução da escala horizontal durante uma implantação
<a name="integrations-aws-auto-scaling-behaviors-scale-in"></a>

Se um grupo de Auto Scaling começar a escalar enquanto uma CodeDeploy implantação estiver em andamento nesse grupo de Auto Scaling, poderá ocorrer uma condição de corrida entre o processo de encerramento (incluindo os eventos do ciclo de vida da implantação de CodeDeploy encerramento) e outros eventos do ciclo de vida na instância de encerramento. CodeDeploy A implantação nessa instância específica pode falhar se a instância for encerrada antes da conclusão de todos os eventos CodeDeploy do ciclo de vida. Além disso, a CodeDeploy implantação geral pode ou não falhar, dependendo de como você definiu sua configuração de **mínimo de hosts íntegros** em sua configuração de implantação.

### Ordem dos eventos nos scripts AWS CloudFormation cfn-init
<a name="integrations-aws-auto-scaling-behaviors-event-order"></a>

Se você usar `cfn-init` (ou `cloud-init`) para executar scripts em instâncias Linux recém-provisionadas, suas implantações poderão falhar, a menos que você controle estritamente a ordem de eventos que ocorrerem após a inicialização da instância.

Essa ordem deve ser:

1. A instância recém-provisionada é iniciada.

1. Todos os scripts de inicialização `cfn-init` são executados até a conclusão.

1. O CodeDeploy agente começa.

1. A última revisão de aplicativo é implantada na instância.

Se a ordem dos eventos não for cuidadosamente controlada, o CodeDeploy agente poderá iniciar uma implantação antes que todos os scripts terminem de ser executados. 

Para controlar a ordem dos eventos, use uma destas práticas recomendadas: 
+ Instale o CodeDeploy agente por meio de um `cfn-init` script, colocando-o depois de todos os outros scripts.
+ Inclua o CodeDeploy agente em uma AMI personalizada e use um `cfn-init` script para iniciá-la, colocando-a depois de todos os outros scripts.

Para obter mais informações sobre o uso do `cfn-init`, consulte [cfn-init](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cfn-init.html) no *Guia do usuário do AWS CloudFormation *.

## Usando uma AMI personalizada com o CodeDeploy Amazon EC2 Auto Scaling
<a name="integrations-aws-auto-scaling-custom-ami"></a>

Existem duas opções para especificar a AMI base a ser usada quando novas instâncias do Amazon EC2 são iniciadas em um grupo do Amazon EC2 Auto Scaling:
+ Você pode especificar uma AMI personalizada básica que já tenha o CodeDeploy agente instalado. Como o agente já está instalado, essa opção inicia novas instâncias do Amazon EC2 com mais rapidez do que a outra opção. No entanto, essa opção oferece uma maior probabilidade de que as implantações iniciais das instâncias do Amazon EC2 falhem, especialmente se CodeDeploy o agente estiver desatualizado. Se você escolher essa opção, recomendamos que você atualize regularmente o CodeDeploy agente em sua AMI personalizada básica.
+ Você pode especificar uma AMI básica que não tenha o CodeDeploy agente instalado e tenha o agente instalado à medida que cada nova instância é executada em um grupo do Amazon EC2 Auto Scaling. Embora essa opção inicie novas instâncias do Amazon EC2 mais devagar do que a outra opção, com ela, são maiores as chances de que as implantações iniciais das instâncias sejam bem-sucedidas. Essa opção usa a versão mais recente do agente do CodeDeploy.

# Integração CodeDeploy com o Elastic Load Balancing
<a name="integrations-aws-elastic-load-balancing"></a>

Durante CodeDeploy as implantações, um balanceador de carga impede que o tráfego da Internet seja roteado para instâncias quando elas não estão prontas, estão sendo implantadas no momento ou não são mais necessárias como parte de um ambiente. A função exata que o balanceador de carga desempenha, no entanto, depende se ele é usado em uma blue/green implantação ou em uma implantação local.

**nota**  
O uso de balanceadores de carga do Elastic Load Balancing é obrigatório nas blue/green implantações e opcional nas implantações locais.

## Tipos de Elastic Load Balancing
<a name="integrations-aws-elastic-load-balancing-types"></a>

O Elastic Load Balancing fornece três tipos de balanceadores de carga que podem ser usados em CodeDeploy implantações: Classic Load Balancers, Application Load Balancers e Network Load Balancers.

Classic Load Balancer  
Rotas e balanceamentos de carga na camada de transporte (TCP/SSL) or the application layer (HTTP/HTTPS). Ele oferece suporte a uma VPC.  
Os Classic Load Balancers não são compatíveis com implantações do Amazon ECS.

Application Load Balancer  
Roteia e carrega equilíbrios na camada do aplicativo (HTTP/HTTPS) e é compatível com roteamento baseado em trajeto. Ele pode encaminhar solicitações para portas em cada instância do EC2 ou instância de contêiner na sua nuvem privada virtual (VPC).  
 Os grupos de destino do Application Load Balancer devem ter um tipo de destino `instance` para implantações em instâncias do EC2 e `IP` para implantações do Fargate. Para obter mais informações, consulte [Tipo de destino](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#target-type). 

Network Load Balancer  
Roteia e faz o balanceamento de carga na camada de transporte (camada 4 do TCP/UDP) com base nas informações de endereço extraídas do cabeçalho do pacote TCP, e não do conteúdo do pacote. Os balanceadores de carga de rede podem lidar com picos de tráfego, reter o IP de origem do cliente e usar um IP fixo para a vida útil do balanceador de carga. 

Para saber mais sobre os load balancers do Elastic Load Balancing, consulte os seguintes tópicos:
+ [O que é Elastic Load Balancing?](https://docs.aws.amazon.com/elasticloadbalancing/latest/userguide/what-is-load-balancing.html)
+ [O que é um Classic Load Balancer?](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/introduction.html)
+ [O que é um Application Load Balancer?](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html)
+ [O que é um Network Load Balancer?](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html)

## Implantações em azul/verde
<a name="integrations-aws-elastic-load-balancing-blue-green"></a>

O redirecionamento do tráfego da instância por trás de um load balancer do Elastic Load Balancing é fundamental para as implantações. CodeDeploy blue/green 

Durante uma blue/green implantação, o balanceador de carga permite que o tráfego seja roteado para as novas instâncias em um grupo de implantação no qual a revisão mais recente do aplicativo foi implantada (o ambiente substituto), de acordo com as regras especificadas, e então bloqueia o tráfego das instâncias antigas em que a revisão anterior do aplicativo estava sendo executada (o ambiente original).

Após as instâncias em um ambiente de substituição serem registradas em um ou mais balanceadores de carga, o registro das instâncias do ambiente original é cancelado e, se você escolher, as instâncias são encerradas.

Para uma blue/green implantação, você pode especificar um ou mais grupos-alvo do Classic Load Balancers, do Application Load Balancer ou do Network Load Balancer no seu grupo de implantação. Você usa o CodeDeploy console ou adiciona AWS CLI os balanceadores de carga a um grupo de implantação.

Para obter mais informações sobre balanceadores de carga em blue/green implantações, consulte os tópicos a seguir:
+ [Configure um balanceador de carga no Elastic Load Balancing para implantações do Amazon CodeDeploy EC2](deployment-groups-create-load-balancer.md)
+ [Criar um aplicativo para uma blue/green implantação (console)](applications-create-blue-green.md)
+ [Crie um grupo de implantação para uma blue/green implantação EC2/local (console)](deployment-groups-create-blue-green.md)

## Implantações no local
<a name="integrations-aws-elastic-load-balancing-in-place"></a>

Em uma implantação no local, um balanceador de carga impede que o tráfego da Internet seja direcionado para uma instância durante o processo, tornando-a novamente disponível para tráfego assim que essa implantação é concluída.

Se o load balancer não for usado durante uma implantação, o tráfego da Internet ainda poderá ser direcionado para uma instância durante o processo de implantação. Como resultado, seus clientes poderão encontrar aplicativos web quebrados, incompletos ou desatualizados. Quando você usa um load balancer do Elastic Load Balancing com uma implantação local, as instâncias em um grupo de implantação são canceladas do load balancer, atualizadas com a revisão mais recente do aplicativo e, em seguida, registradas novamente no load balancer como parte do mesmo grupo de implantação após a implantação ser bem-sucedida. CodeDeploy aguardará até 1 hora para que a instância fique íntegra por trás do balanceador de carga. Se a instância não for marcada como íntegra pelo balanceador de carga durante o período de espera, CodeDeploy ela passa para a próxima instância ou falha na implantação, com base na configuração de implantação.

Para uma implantação no local, você pode especificar um ou mais grupos de destino do Classic Load Balancers, do Application Load Balancer ou do Network Load Balancer. Você pode especificar os balanceadores de carga como parte da configuração do grupo de implantação ou usar um script fornecido por CodeDeploy para implementar os balanceadores de carga.

### Especificar o balanceador de carga de implantação no local usando um grupo de implantação
<a name="integrations-aws-elastic-load-balancing-in-place-deployment-group"></a>

Para adicionar balanceadores de carga a um grupo de implantação, você usa o CodeDeploy console ou AWS CLI. Para obter informações sobre como especificar um load balancer em um grupo de implantação para as implantações no local, consulte os seguintes tópicos:
+ [Criar um aplicativo para uma implantação no local (console)](applications-create-in-place.md)
+ [Criar um grupo de implantação para uma implantação no local (console)](deployment-groups-create-in-place.md)
+ [Configure um balanceador de carga no Elastic Load Balancing para implantações do Amazon CodeDeploy EC2](deployment-groups-create-load-balancer.md)

### Especificar o balanceador de carga de implantação no local usando um script
<a name="integrations-aws-elastic-load-balancing-in-place-script"></a>

Use as etapas do procedimento a seguir para usar scripts de ciclo de vida de implantação para configurar o balanceamento de carga para implantações no local.
**nota**  
Você deve usar CodeDeployDefault o. OneAtATime configuração de implantação somente quando você está usando um script para configurar um balanceador de carga para uma implantação local. Não há suporte para execuções simultâneas, e o. CodeDeployDefault OneAtATime a configuração garante uma execução serial dos scripts. Para obter mais informações sobre configurações de implantação, consulte [Trabalhando com configurações de implantação em CodeDeploy](deployment-configurations.md).

No repositório CodeDeploy Samples em GitHub, fornecemos instruções e amostras que você pode adaptar para usar os balanceadores de carga do CodeDeploy Elastic Load Balancing. Esses repositórios incluem três scripts de amostra — `register_with_elb.sh`, `deregister_from_elb.sh` e `common_functions.sh` — que fornecem todo o código necessário para você poder trabalhar. Basta editar os espaços reservados nesses três scripts e fazer referência a eles no seu arquivo `appspec.yml`.

Para configurar implantações no local CodeDeploy com instâncias do Amazon EC2 registradas nos balanceadores de carga do Elastic Load Balancing, faça o seguinte:

1. Baixe as amostras para o tipo de balanceador de carga que deseja usar para uma implantação no local:
   + [Classic Load Balancer](https://github.com/awslabs/aws-codedeploy-samples/tree/master/load-balancing/elb)
   + [Application Load Balancer[ ou Network Load Balancer](https://github.com/awslabs/aws-codedeploy-samples/tree/master/load-balancing/elb-v2) (o mesmo script pode ser usado para ambos os tipos)](https://github.com/awslabs/aws-codedeploy-samples/tree/master/load-balancing/elb-v2)

1. Certifique-se de que cada uma de suas instâncias de destino do Amazon EC2 tenha o AWS CLI instalado. 

1. Certifique-se de cada uma das suas instâncias de destino do Amazon EC2 tenha um perfil de instância do IAM conectado pelo menos com as permissões elasticloadbalancing:\$1 e autoscaling:\$1.

1. Inclua no diretório do código-fonte do seu aplicativo os scripts de evento de ciclo de vida de implantação (`register_with_elb.sh`, `deregister_from_elb.sh` e `common_functions.sh`).

1. Em `appspec.yml` Para a revisão do aplicativo, forneça instruções CodeDeploy para executar o `register_with_elb.sh` script durante o **ApplicationStart**evento e o `deregister_from_elb.sh` script durante o **ApplicationStop**evento.

1. Se a instância fizer parte de um grupo do Amazon EC2 Auto Scaling, você poderá ignorar essa etapa.

   No script`common_functions.sh`:
   + Se estiver usando o [Classic Load Balancer](https://github.com/awslabs/aws-codedeploy-samples/tree/master/load-balancing/elb), especifique os nomes dos balanceadores de carga do Elastic Load Balancing em `ELB_LIST=""` e faça as alterações necessárias nas outras configurações de implantação no arquivo.
   + Se estiver usando o [Application Load Balancer[ ou o Network Load Balancer](https://github.com/awslabs/aws-codedeploy-samples/tree/master/load-balancing/elb-v2)](https://github.com/awslabs/aws-codedeploy-samples/tree/master/load-balancing/elb-v2), especifique os nomes dos grupos de destino do Elastic Load Balancing em `TARGET_GROUP_LIST=""` e faça as alterações necessárias nas outras configurações de implantação no arquivo.

1. Forneça o código-fonte do seu aplicativo, o `appspec.yml` e os scripts de evento de ciclo de vida de implantação em uma revisão de aplicativo e faça o upload da revisão. Implante a revisão nas instâncias do Amazon EC2. Durante a implantação, os scripts de evento de ciclo de vida de implantação cancelarão o registro da instância do Amazon EC2 no balanceador de carga, aguardará a drenagem da conexão e depois registrará novamente a instância do Amazon EC2 no balanceador de carga após a conclusão da implantação.

# Integração com produtos e serviços de parceiros
<a name="integrations-partners"></a>

CodeDeploy tem integração integrada para os seguintes produtos e serviços de parceiros:


|  |  | 
| --- |--- |
| Ansible |  Se você já tem um conjunto de manuais do [Ansible](http://www.ansible.com), mas só precisa de um lugar para executá-los, veja o modelo do Ansible e CodeDeploy demonstra como alguns ganchos de implantação simples podem garantir que o Ansible esteja disponível na instância de implantação local e execute os playbooks. Se você já tem um processo para criar e manter seu inventário, também há um módulo do Ansible que você pode usar para instalar e executar o CodeDeploy agente. Saiba mais: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codedeploy/latest/userguide/integrations-partners.html)  | 
| Atlassian – Bamboo e Bitbucket |  A CodeDeploy tarefa do [Bamboo](https://www.atlassian.com/software/bamboo/) compacta o diretório que contém um AppSpec arquivo em um arquivo.zip, carrega o arquivo no Amazon S3 e, em seguida, inicia a implantação de acordo com a configuração fornecida no aplicativo. CodeDeploy  O suporte do Atlassian Bitbucket CodeDeploy permite que você envie código para instâncias do Amazon EC2 diretamente da interface do usuário do Bitbucket, sob demanda, para qualquer um dos seus grupos de implantação. Isso significa que, depois de atualizar o código no seu repositório do Bitbucket, você não precisa fazer login na sua plataforma de integração contínua (CI) ou em instâncias do Amazon EC2 para executar um processo de implantação manual.  Saiba mais: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codedeploy/latest/userguide/integrations-partners.html)  | 
| Chef |  AWS fornece dois exemplos de modelos para integrar o [Chef](https://www.chef.io/) e. CodeDeploy O primeiro é um livro de receitas do Chef que instala e inicia o CodeDeploy agente. Isso permite que você continue gerenciando sua infraestrutura de host com o Chef enquanto usa o CodeDeploy. O segundo modelo de amostra demonstra como usar para orquestrar CodeDeploy a execução de livros de receitas e receitas com chef-solo em cada nó. Saiba mais: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codedeploy/latest/userguide/integrations-partners.html)  | 
| CircleCI |  O [CircleCI](https://circleci.com/) fornece um conjunto de ferramentas de teste e integração contínua e implantação automatizada. Depois de criar uma função do IAM AWS para usar com o CircleCI e configurar seus parâmetros de implantação em seu arquivo circle.yml, você pode usar o CodeDeploy CircleCI with para criar revisões de aplicativos, carregá-las em um bucket do Amazon S3 e, em seguida, iniciar e monitorar suas implantações. Saiba mais: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codedeploy/latest/userguide/integrations-partners.html)  | 
| CloudBees |  Você pode usar o plug-in CodeDeploy Jenkins, disponível no [CloudBees](https://www.cloudbees.com/)DEV @cloud, como uma ação pós-compilação. Por exemplo, no final de um pipeline de entrega contínua, você pode usá-lo para implantar uma revisão de aplicativo na sua frota de servidores. Saiba mais: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codedeploy/latest/userguide/integrations-partners.html)  | 
| Codeship |  Você pode usar o [Codeship](https://codeship.com/) para implantar revisões de aplicativos por meio de. CodeDeploy Você pode usar a UI do Codeship para adicionar o CodeDeploy a um pipeline de implantação para uma ramificação. Saiba mais:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codedeploy/latest/userguide/integrations-partners.html)  | 
| GitHub |  Você pode usar CodeDeploy para implantar revisões de aplicativos a partir de [GitHub](http://www.github.com)repositórios. Você também pode acionar uma implantação a partir de um GitHub repositório sempre que o código-fonte desse repositório for alterado. Saiba mais: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codedeploy/latest/userguide/integrations-partners.html)  | 
|  **HashiCorp Cônsul**  |  Você pode usar a ferramenta HashiCorp Consul de código aberto para ajudar a garantir a integridade e a estabilidade do seu ambiente de aplicativos ao implantar aplicativos em. CodeDeploy Você pode usar o Consul para registrar aplicativos que serão descobertos durante a implantação, colocar aplicativos e nós no modo de manutenção para omiti-los de implantações e interromper implantações se as instâncias de destino se tornarem não íntegras. Saiba mais: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codedeploy/latest/userguide/integrations-partners.html)  | 
| Jenkins |  O plug-in CodeDeploy [Jenkins](http://jenkins-ci.org/) fornece uma etapa de pós-construção para seu projeto Jenkins. Após uma compilação bem-sucedida, ele compacta o espaço de trabalho, faz upload no Amazon S3 e inicia uma nova implantação. Saiba mais:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codedeploy/latest/userguide/integrations-partners.html)  | 
| Puppet Labs |  AWS fornece modelos de amostra para [Puppet](https://puppetlabs.com/) e. CodeDeploy O primeiro é um módulo Puppet que instala e inicia o CodeDeploy agente. Isso permite que você continue gerenciando sua infraestrutura de host com o Puppet enquanto usa o CodeDeploy. O segundo modelo de amostra demonstra como usar para orquestrar CodeDeploy a execução de módulos e manifestos com uma marionete sem mestre em cada nó. Saiba mais:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codedeploy/latest/userguide/integrations-partners.html)  | 
| SaltStack |  Você pode integrar a [SaltStack](https://saltproject.io/index.html)infraestrutura com CodeDeploy. Você pode usar o CodeDeploy módulo para instalar e executar o CodeDeploy agente em seus minions ou, com alguns ganchos de implantação simples, você pode usar CodeDeploy para orquestrar a execução de seus Salt States. Saiba mais:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codedeploy/latest/userguide/integrations-partners.html)  | 
|  **TeamCity**  |  Você pode usar o plug-in CodeDeploy Runner para implantar aplicativos diretamente do TeamCity. O plug-in adiciona uma etapa de TeamCity construção que prepara e carrega uma revisão do aplicativo em um bucket do Amazon S3, registra a revisão em CodeDeploy um aplicativo, cria CodeDeploy uma implantação e, se você escolher, espera que a implantação seja concluída. Saiba mais: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codedeploy/latest/userguide/integrations-partners.html)  | 
| Travis CI |  Você pode configurar o [Travis CI](https://travis-ci.com/) para acionar uma implantação CodeDeploy após uma compilação bem-sucedida. Saiba mais:  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/codedeploy/latest/userguide/integrations-partners.html)  | 

**Topics**
+ [GitHub](integrations-partners-github.md)

# Integrando com CodeDeploy GitHub
<a name="integrations-partners-github"></a>

CodeDeploy supports [GitHub](https://github.com/about), um serviço de hospedagem e compartilhamento de código baseado na web. CodeDeploy pode implantar revisões de aplicativos armazenadas em GitHub repositórios ou buckets do Amazon S3 em instâncias. CodeDeploy suporta GitHub somente implantações EC2/locais.

**Topics**
+ [Implantando CodeDeploy revisões de GitHub](#github-deployment-steps)
+ [GitHub comportamentos com CodeDeploy](#github-behaviors)

## Implantando CodeDeploy revisões de GitHub
<a name="github-deployment-steps"></a>

Para implantar uma revisão do aplicativo de um GitHub repositório para instâncias:

1. Crie uma revisão que seja compatível com CodeDeploy o tipo de instância do Amazon EC2 na qual você implantará.

   Para criar uma revisão compatível, siga as instruções em [Planejar uma revisão para o CodeDeploy](application-revisions-plan.md) e [Adicionar um arquivo de especificação do aplicativo a uma revisão do CodeDeploy](application-revisions-appspec-file.md). 

1. Use uma GitHub conta para adicionar sua revisão a um GitHub repositório.

   Para criar uma GitHub conta, consulte [Entrar GitHub](https://github.com/join). Para criar um GitHub repositório, consulte [Criar um repositório](https://help.github.com/articles/create-a-repo/).

1. Use a página **Criar implantação** no CodeDeploy console ou o AWS CLI **create-deployment** comando para implantar sua revisão do seu GitHub repositório para instâncias de destino configuradas para uso em CodeDeploy implantações.

   Se quiser chamar o **create-deployment** comando, você deve primeiro usar a página **Criar implantação** do console para dar CodeDeploy permissão para interagir GitHub em nome de sua GitHub conta preferida para o aplicativo especificado. Você só precisa fazer isso uma vez por aplicativo.

   Para saber como usar a página **Criar implantação** para implantar a partir de um GitHub repositório, consulte[Crie uma implantação com CodeDeploy](deployments-create.md).

   Para saber como chamar o **create-deployment** comando para implantar a partir de um GitHub repositório, consulte[Criar uma implantação de plataforma de computação de EC2/On-Premises (CLI)](deployments-create-cli.md).

   Para saber como preparar instâncias para uso em CodeDeploy implantações, consulte[Trabalhando com instâncias para CodeDeploy](instances.md).

Para obter mais informações, consulte [Tutorial: Use CodeDeploy para implantar um aplicativo a partir de GitHub](tutorials-github.md).

## GitHub comportamentos com CodeDeploy
<a name="github-behaviors"></a>

**Topics**
+ [GitHub autenticação com aplicativos em CodeDeploy](#behaviors-authentication)
+ [CodeDeploy interação com GitHub repositórios públicos e privados](#behaviors-interactions-private-and-public)
+ [CodeDeploy interação com repositórios gerenciados pela organização GitHub](#behaviors-interactions-organization-managed)
+ [Implemente automaticamente a partir CodePipeline de CodeDeploy](#behaviors-deploy-automatically)

### GitHub autenticação com aplicativos em CodeDeploy
<a name="behaviors-authentication"></a>

Depois de dar CodeDeploy permissão para interagir com GitHub, a associação entre essa GitHub conta e o aplicativo é armazenada em CodeDeploy. Você pode vincular o aplicativo a uma GitHub conta diferente. Você também pode revogar a permissão CodeDeploy para interagir com GitHub.

**Para vincular uma GitHub conta a um aplicativo 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, expanda a opção **Implantar** e escolha **Aplicações**.

1. Escolha o aplicativo que você deseja vincular a uma GitHub conta diferente.

1. Se o aplicativo não tiver um grupo de implantação, selecione **Criar grupo de implantação** para criar um. Para obter mais informações, consulte [Crie um grupo de implantação com CodeDeploy](deployment-groups-create.md). Um grupo de implantação é necessário para selecionar **Create deployment (Criar implantação)** na próxima etapa.

1.  Em **Deployments (Implantações)**, selecione **Create deployment (Criar implantação)**. 
**nota**  
Não é necessário criar uma nova implantação. Atualmente, essa é a única maneira de vincular uma GitHub conta diferente a um aplicativo.

1.  Em **Configurações de implantação**, para **Tipo de revisão**, escolha **Meu aplicativo está armazenado em GitHub**. 

1. Execute um destes procedimentos:
   + Para criar uma conexão entre AWS CodeDeploy aplicativos e uma GitHub conta, saia GitHub em uma guia separada do navegador da Web. Em **nome do GitHub token**, digite um nome para identificar essa conexão e escolha **Conectar GitHub** a. A página da web solicita que você autorize CodeDeploy a interação com seu GitHub aplicativo. Continue na etapa 10.
   + Para usar uma conexão que você já criou, em **nome do GitHub token**, selecione seu nome e escolha **Conectar GitHub** a. Continue na etapa 8.
   + Para criar uma conexão com uma GitHub conta diferente, saia GitHub em uma guia separada do navegador. Em **Nome do GitHub token**, digite um nome para identificar a conexão e escolha **Conectar GitHub** a. A página da web solicita que você autorize CodeDeploy a interação com seu GitHub aplicativo. Continue na etapa 10.

1. Se você ainda não estiver conectado GitHub, siga as instruções na página de **login** para fazer login com a GitHub conta à qual você deseja vincular o aplicativo.

1. Escolha **Autorizar aplicativo**. GitHub dá CodeDeploy permissão para interagir GitHub em nome da GitHub conta conectada do aplicativo selecionado. 

1. Se não quiser criar uma implantação, escolha **Cancelar**.

**Para revogar a permissão CodeDeploy para interagir com GitHub**

1. Faça login [GitHub ](https://github.com/dashboard)usando as credenciais da GitHub conta na qual você deseja revogar a permissão AWS CodeDeploy .

1. Abra a página GitHub [Aplicativos](https://github.com/settings/applications), localize **CodeDeploy**na lista de aplicativos autorizados e siga o GitHub procedimento para revogar a autorização de um aplicativo.

### CodeDeploy interação com GitHub repositórios públicos e privados
<a name="behaviors-interactions-private-and-public"></a>

CodeDeploy suporta a implantação de aplicativos de GitHub repositórios públicos e privados. Quando você der CodeDeploy permissão para acessar GitHub em seu nome, CodeDeploy terá acesso de leitura e gravação a todos os GitHub repositórios privados aos quais sua GitHub conta tem acesso. No entanto, CodeDeploy só lê dos GitHub repositórios. Ele não gravará em nenhum dos seus GitHub repositórios privados.

### CodeDeploy interação com repositórios gerenciados pela organização GitHub
<a name="behaviors-interactions-organization-managed"></a>

Por padrão, GitHub os repositórios gerenciados por uma organização (em oposição aos repositórios públicos ou privados da sua conta) não concedem acesso a aplicativos de terceiros, inclusive. CodeDeploy Sua implantação falhará se as restrições de aplicativos de terceiros de uma organização estiverem habilitadas GitHub e você tentar implantar o código de seu GitHub repositório. Há duas maneiras de resolver esse problema. 
+ Como membro da organização, você pode solicitar ao proprietário da organização que aprove o acesso ao CodeDeploy. As etapas para solicitar esse acesso dependem de você já ter autorizado CodeDeploy sua conta individual:
  + Se você autorizou o acesso à CodeDeploy sua conta, consulte [Solicitando a aprovação da organização para suas inscrições autorizadas](https://help.github.com/articles/requesting-organization-approval-for-your-authorized-applications/).
  + Se você ainda não autorizou o acesso à CodeDeploy sua conta, consulte [Solicitação de aprovação da organização para aplicativos de terceiros](https://help.github.com/articles/requesting-organization-approval-for-third-party-applications/).
+ O proprietário da organização pode desabilitar todas as restrições de aplicativos de terceiros para a organização. Para obter informações, consulte [Desabilitando restrições de aplicativos de terceiros para sua organização](https://help.github.com/articles/disabling-third-party-application-restrictions-for-your-organization/).

Para obter mais informações, consulte [Sobre restrições de aplicativos de terceiros](https://help.github.com/articles/about-third-party-application-restrictions/).

### Implemente automaticamente a partir CodePipeline de CodeDeploy
<a name="behaviors-deploy-automatically"></a>

Você pode acionar uma implantação a partir de um CodePipeline sempre que o código-fonte for alterado. Para obter mais informações, consulte [CodePipeline](https://aws.amazon.com/codepipeline/).

# Exemplos de integração da comunidade
<a name="integrations-community"></a>

As seguintes seções fornecem links para publicações no blog, artigos e exemplos fornecidos pela comunidade.

**nota**  
Esses links são fornecidos apenas para fins informativos e não devem ser considerados como uma lista abrangente ou como um endosso do conteúdo dos exemplos. A AWS não se responsabiliza pelo conteúdo ou pela precisão de conteúdo externo. 

## Publicações no blog
<a name="integrations-community-blogposts"></a>
+ [Automatizando o provisionamento em CodeDeploy CloudFormation](http://www.stelligent.com/cloud/automating-aws-codedeploy-provisioning-in-cloudformation/)

  Saiba como provisionar a implantação de um aplicativo CodeDeploy usando CloudFormation.

  *Publicado em janeiro de 2016*
+ [AWS Toolkit for Eclipse Integração com CodeDeploy (Parte 1)](https://aws.amazon.com/blogs/developer/aws-toolkit-for-eclipse-integration-with-aws-codedeploy-part-1/)

  [AWS Toolkit for Eclipse Integração com CodeDeploy (Parte 2)](https://aws.amazon.com/blogs/developer/aws-toolkit-for-eclipse-integration-with-aws-codedeploy-part-2/)

  [AWS Toolkit for Eclipse Integração com CodeDeploy (Parte 3)](https://aws.amazon.com/blogs/developer/aws-toolkit-for-eclipse-integration-with-aws-codedeploy-part-3/)

  Saiba como os desenvolvedores Java podem usar o CodeDeploy plug-in do Eclipse para implantar aplicativos web AWS diretamente dos ambientes de desenvolvimento do Eclipse.

  *Publicado em fevereiro de 2015*
+ [Implemente automaticamente a partir do GitHub uso CodeDeploy](https://aws.amazon.com/blogs/devops/automatically-deploy-from-github-using-aws-codedeploy/)

  Saiba como as implantações automáticas de GitHub até CodeDeploy podem ser usadas para criar um end-to-end pipeline — do controle de origem aos seus ambientes de teste ou produção. 

  *Publicado em dezembro de 2014*