

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

# Envie uma revisão CodeDeploy para o Amazon S3 (somente implantações EC2/locais)
<a name="application-revisions-push"></a>

Depois de planejar sua revisão conforme descrito em [Planejar uma revisão para o CodeDeploy](application-revisions-plan.md) e adicionar um AppSpec arquivo à revisão conforme descrito em[Adicionar um arquivo de especificação do aplicativo a uma revisão do CodeDeploy](application-revisions-appspec-file.md), você estará pronto para agrupar os arquivos de componentes e enviar a revisão para o Amazon S3. Para implantações em instâncias do Amazon EC2, depois de enviar a revisão, você pode CodeDeploy usá-la para implantar a revisão do Amazon S3 nas instâncias.

**nota**  
CodeDeploy também pode ser usado para implantar revisões que foram enviadas para GitHub. Para obter mais informações, consulte sua GitHub documentação.

Supomos que você já tenha seguido as instruções em [Começando com CodeDeploy](getting-started-codedeploy.md) para configurar a AWS CLI. Isso é especialmente importante para chamar o comando **push** descrito mais adiante.

Certifique-se de ter um bucket do Amazon S3. Siga as instruções em [Criar um bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingABucket.html).

Caso sua implantação seja feita em instâncias do Amazon EC2, o bucket do Amazon S3 de destino precisa ser criado ou já existir na mesma região que as instâncias de destino. Por exemplo, se você quiser implantar uma revisão em algumas instâncias na região Leste dos EUA (Norte da Virgínia) e outras na região Oeste dos EUA (Oregon), você deve ter um bucket na região Leste dos EUA (Norte da Virgínia) com uma cópia da revisão e outro bucket na região Oeste dos EUA (Oregon) com outra cópia da mesma revisão. Nesse cenário, você precisa criar duas implantações separadas: uma na região Leste dos EUA (Norte da Virgínia) e outra na região Oeste dos EUA (Oregon), mesmo que a revisão seja igual nas duas regiões e nos buckets.

Você deve ter permissões para fazer upload no bucket do Amazon S3. Você pode especificar essas permissões por meio de uma política de bucket do Amazon S3. Por exemplo, na seguinte política de bucket do Amazon S3, o uso do caractere curinga (\$1) permite que `111122223333` a AWS conta faça upload de arquivos para qualquer diretório no bucket do Amazon S3 chamado: `amzn-s3-demo-bucket`

```
{
    "Statement": [
        {
            "Action": [
                "s3:PutObject"
            ],
            "Effect": "Allow",
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Principal": {
                "AWS": [
                    "111122223333"
                ]
            }
        }
    ]
}
```

Para ver o ID AWS da sua conta, consulte [Encontrando o ID AWS da sua conta](https://docs.aws.amazon.com/IAM/latest/UserGuide/console_account-alias.html#FindingYourAWSId).

Para saber mais sobre como gerar e anexar uma política de bucket do Amazon S3, consulte [Exemplos de políticas de bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html).

O usuário que está chamando o comando **push** deve ter, no mínimo, permissões para fazer upload da revisão em cada bucket de destino do Amazon S3. Por exemplo, a seguinte política permite que o usuário faça upload de revisões em qualquer lugar no bucket do Amazon S3 denominado `amzn-s3-demo-bucket`:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:PutObject"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*"
        }
    ]
}
```

------

Para saber mais sobre como criar e anexar uma política do IAM, consulte [Trabalhando com políticas](https://docs.aws.amazon.com/IAM/latest/UserGuide/ManagingPolicies.html#AddingPermissions_Console).

## Faça uma revisão usando o AWS CLI
<a name="push-with-cli"></a>

**nota**  
 O `push` comando agrupa artefatos do aplicativo e um AppSpec arquivo em uma revisão. O formato de arquivo dessa revisão é um arquivo ZIP compactado. O comando não pode ser usado com uma implantação do AWS Lambda ou do Amazon ECS porque cada um espera uma revisão que seja um arquivo em formato JSON ou YAML. AppSpec 

Chame o comando **push** para agrupar e enviar a revisão por push para uma implantação. Os parâmetros são:
+  **--application-name**: (string) necessário. O nome do aplicativo do CodeDeploy que será associado à revisão de aplicativo. 
+  **--s3-location**: (string) necessário. Informações sobre a localização da revisão de aplicativo que será carregada no Amazon S3. Você deve especificar um bucket e uma chave do Amazon S3. A chave é o nome da revisão. CodeDeploy compacta o conteúdo antes de ser carregado. Use o formato `s3://amzn-s3-demo-bucket/your-key.zip`. 
+  **--ignore-hidden-files** ou **--no-ignore-hidden-files**: (booliano) opcional. Use o sinalizador `--no-ignore-hidden-files` (o padrão) para agrupar e carregar arquivos ocultos para o Amazon S3. Use o sinalizador `--ignore-hidden-files` para não agrupar e carregar arquivos ocultos para o Amazon S3. 
+  **--source** (string) opcional. A localização do conteúdo a ser implantado e o AppSpec arquivo na máquina de desenvolvimento a ser compactado e carregado no Amazon S3. A localização é especificada como um caminho relativo ao diretório atual. Se o caminho relativo não for especificado, ou se um ponto final for usado para o caminho ("."), o diretório atual será usado. 
+  **--description** (string) opcional. Um comentário que resume a revisão de aplicativo. Se não for especificada, a string padrão “Carregado por AWS CLI 'hora' UTC” será usada, em que 'hora' é a hora atual do sistema no Horário Universal Coordenado (UTC). 

Você pode usar o AWS CLI para enviar uma revisão para uma implantação do Amazon EC2. Um exemplo comando push é semelhante a: 

No Linux, macOS ou Unix:

```
aws deploy push \
  --application-name WordPress_App \
  --description "This is a revision for the application WordPress_App" \
  --ignore-hidden-files \
  --s3-location s3://amzn-s3-demo-bucket/WordPressApp.zip \
  --source .
```

 No Windows: 

```
aws deploy push --application-name WordPress_App --description "This is a revision for the application WordPress_App" --ignore-hidden-files --s3-location s3://amzn-s3-demo-bucket/WordPressApp.zip --source .
```

 Esse comando faz o seguinte: 
+  Associa o pacote de arquivos a um aplicativo chamado `WordPress_App`. 
+  Anexa uma descrição à revisão. 
+  Ignora arquivos ocultos. 
+  Nomeia a revisão `WordPressApp.zip` e a envia para um bucket chamado `amzn-s3-demo-bucket`. 
+  Agrupa todos os arquivos do diretório raiz na revisão. 

Depois que o push for bem-sucedido, você poderá usar o console AWS CLI ou o CodeDeploy console para implantar a revisão a partir do Amazon S3. Para implantar essa revisão com o AWS CLI: 

 No Linux, macOS ou Unix: 

```
aws deploy create-deployment \
  --application-name WordPress_App \ 
  --deployment-config-name your-deployment-config-name \ 
  --deployment-group-name your-deployment-group-name \ 
  --s3-location bucket=amzn-s3-demo-bucket,key=WordPressApp.zip,bundleType=zip
```

 No Windows: 

```
aws deploy create-deployment --application-name WordPress_App --deployment-config-name your-deployment-config-name --deployment-group-name your-deployment-group-name --s3-location bucket=amzn-s3-demo-bucket,key=WordPressApp.zip,bundleType=zip
```

 Para obter mais informações, consulte [Crie uma implantação com CodeDeploy](deployments-create.md). 