Envie uma revisão CodeDeploy para o Amazon S3 (somente implantações EC2/locais) - AWS CodeDeploy

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)

Depois de planejar sua revisão conforme descrito em Planeje uma revisão para CodeDeploy e adicionar um AppSpec arquivo à revisão conforme descrito emAdicionar um arquivo de especificação do aplicativo a uma revisão do CodeDeploy, 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 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.

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 (*) permite que 111122223333 a AWS conta faça upload de arquivos para qualquer diretório no bucket do Amazon S3 chamado: DOC-EXAMPLE-BUCKET

{ "Statement": [ { "Action": [ "s3:PutObject" ], "Effect": "Allow", "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*", "Principal": { "AWS": [ "111122223333" ] } } ] }

Para ver o ID AWS da sua conta, consulte Encontrando o ID AWS da sua conta.

Para saber mais sobre como gerar e anexar uma política de bucket do Amazon S3, consulte Exemplos de políticas de bucket.

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 DOC-EXAMPLE-BUCKET:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*" } ] }

Para saber mais sobre como criar e anexar uma política do IAM, consulte Trabalhando com políticas.

Faça uma revisão usando o AWS CLI

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 CodeDeploy aplicativo a ser associado à revisão do 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://DOC-EXAMPLE-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://DOC-EXAMPLE-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://DOC-EXAMPLE-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 DOC-EXAMPLE-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=DOC-EXAMPLE-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=DOC-EXAMPLE-BUCKET,key=WordPressApp.zip,bundleType=zip

Para ter mais informações, consulte Crie uma implantação com CodeDeploy.