Envie uma revisão CodeDeploy para o Amazon S3 (somente em implantações do EC2/on-premises) - 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 em implantações do EC2/on-premises)

Depois de planejar sua revisão conforme descrito emPlanejar uma revisão para o 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 do componente 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 usar 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 GitHub. Para obter mais informações, consulte a GitHub documentação do.

Supomos que você já tenha seguido as instruções em Conceitos básicos do CodeDeploy para configurar a AWS CLI. Isso é especialmente importante para chamar o comando push descrito mais adiante.

Verifique se você tem um bucket do Amazon S3. Siga as instruções em Criar um bucket.

Se sua implantação for em instâncias do Amazon EC2, o bucket Amazon S3 de destino 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 em outras instâncias 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, seria necessário 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).

Você deve ter permissões para carregar 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 que111122223333 aAWS conta faça upload de arquivos para qualquer diretório no bucket do Amazon S3 chamadocodedeploydemobucket:

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

Para ver o IDAWS da sua conta, consulte Como encontrar o IDAWS da sua conta.

Para saber 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 opush comando deve ter, no mínimo, permissões para carregar a revisão em cada bucket Amazon S3 de destino. Por exemplo, a política a seguir permite que o usuário faça upload de revisões em qualquer bucket do Amazon S3.codedeploydemobucket

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

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

Faça uma revisão usando oAWS CLI

nota

Opush 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 doAWS Lambda ou do Amazon ECS porque cada uma espera uma revisão que seja um AppSpec arquivo formatado em JSON ou YAML.

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 do aplicação a ser carregada no Amazon S3. Você deve especificar um bucket do Amazon S3. A chave é o nome da revisão. CodeDeploy compacta o conteúdo antes de ser carregado. Use o formato s3://your-S3-bucket-name/your-key.zip.

  • --ignore-hidden-files ou --no-ignore-hidden-files: (booliano) opcional. Use o--no-ignore-hidden-files sinalizador (o padrão) para agrupar e carregar arquivos ocultos para o Amazon S3. Use a--ignore-hidden-files bandeira 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 porAWS CLI 'hora' UTC” é usada, onde 'hora' é a hora atual do sistema no Tempo Universal Coordenado (UTC).

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

Em 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://codedeploydemobucket/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://codedeploydemobucket/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 codedeploydemobucket.

  • Agrupa todos os arquivos do diretório raiz na revisão.

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

Em 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=codedeploydemobucket,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=codedeploydemobucket,key=WordPressApp.zip,bundleType=zip

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