Envie uma revisão CodeDeploy para o Amazon S3 (EC2/Somente implantações 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 (EC2/Somente implantações 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 EC2 instâncias da Amazon, depois de enviar a revisão, você pode usá-la CodeDeploy 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.

Se sua implantação for em EC2 instâncias da Amazon, o bucket de destino do Amazon S3 deverá ser criado ou existir na mesma região das 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: 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.

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 amzn-s3-demo-bucket:

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

Para saber como criar e anexar uma IAM política, consulte Como trabalhar 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 ZIP arquivo compactado. O comando não pode ser usado com uma ECS implantação do AWS Lambda ou da Amazon porque cada uma espera uma revisão que seja um arquivo -formatado ou JSON -formatado. 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://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 “Uploaded by AWS CLI 'time'UTC" é usada, onde 'time' é a hora atual do sistema no Tempo Universal Coordenado (UTC).

Você pode usar o AWS CLI para enviar uma revisão para uma EC2 implantação da Amazon. 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.