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á.
Use o CodeDeploy agente para validar um pacote de implantação em uma máquina local
Usando o CodeDeploy agente, você pode implantar conteúdo em uma instância na qual está conectado. Isso permite testar a integridade de um arquivo de especificação de aplicativo (AppSpec arquivo) que você pretende usar em uma implantação e o conteúdo que você pretende implantar.
Você não precisa criar um grupo de aplicativo e implantação. Se você quiser implantar conteúdo armazenado na instância local, você nem precisa de uma AWS conta. Para o teste mais simples, você pode executar o codedeploy-local comando, sem especificar nenhuma opção, em um diretório que contém o AppSpec arquivo e o conteúdo a ser implantado. Existem opções para outros casos de teste na ferramenta.
Ao validar um pacote de implantação em uma máquina local, é possível:
-
Testar a integridade de uma revisão de aplicativo.
-
Teste o conteúdo de um AppSpec arquivo.
-
Experimente CodeDeploy pela primeira vez com seu código de aplicativo existente.
-
Implantar o conteúdo rapidamente quando você já estiver conectado a uma instância.
Você pode usar conteúdo de implantação armazenado na instância local ou em um tipo de repositório remoto compatível (buckets do Amazon S3 ou GitHub repositórios públicos).
Pré-requisitos
Antes de iniciar uma implantação local, siga estas etapas:
-
Crie ou use um tipo de instância compatível com o CodeDeploy agente. Para ter mais informações, consulte Sistemas operacionais suportados pelo CodeDeploy agente.
-
Instale a versão 1.0.1.1352 ou posterior do agente. CodeDeploy Para ter mais informações, consulte Instale o CodeDeploy agente.
-
Se você estiver implantando seu conteúdo a partir de um bucket GitHub ou repositório do Amazon S3, provisione um usuário para usá-lo. CodeDeploy Para ter mais informações, consulte Etapa 1: configuração.
-
Se você estiver implantando sua revisão de aplicativo a partir de um bucket do Amazon S3, crie um bucket do Amazon S3 na região em que você está trabalhando e aplique uma política de bucket do Amazon S3 ao bucket. Essa política concede às suas instâncias as permissões necessárias para baixar a revisão de aplicativo.
Por exemplo, a seguinte política de bucket do Amazon S3 permite que qualquer EC2 instância da Amazon com um perfil de IAM instância anexado contendo o ARN
arn:aws:iam::444455556666:role/CodeDeployDemo
seja baixada de qualquer lugar no bucket do Amazon S3 chamado:amzn-s3-demo-bucket
{ "Statement": [ { "Action": [ "s3:Get*", "s3:List*" ], "Effect": "Allow", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Principal": { "AWS": [ "arn:aws:iam::444455556666:role/CodeDeployDemo" ] } } ] }
A seguinte política de bucket do Amazon S3 permite que qualquer instância local com um IAM usuário associado contendo o ARN
arn:aws:iam::444455556666:user/CodeDeployUser
seja baixada de qualquer lugar no bucket do Amazon S3 chamado:amzn-s3-demo-bucket
{ "Statement": [ { "Action": [ "s3:Get*", "s3:List*" ], "Effect": "Allow", "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*", "Principal": { "AWS": [ "arn:aws:iam::444455556666:user/CodeDeployUser" ] } } ] }
Para obter informações sobre como gerar e anexar uma política de bucket do Amazon S3, consulte Exemplos de políticas de bucket.
-
Se você estiver implantando a revisão do seu aplicativo a partir de um bucket GitHub ou repositório do Amazon S3, configure IAM um perfil de instância e anexe-o à instância. Para obter informações, consulte Etapa 4: Crie um perfil de IAM instância para suas EC2 instâncias da Amazon, Crie uma instância do Amazon EC2 para CodeDeploy (AWS CLI ou console do Amazon EC2) e Crie uma instância do Amazon EC2 para CodeDeploy (modelo)AWS CloudFormation.
-
Se você estiver implantando seu conteúdo a partir de GitHub, crie uma GitHub conta e um repositório público. Para criar uma GitHub conta, consulte Entrar GitHub
. Para criar um GitHub repositório, consulte Criar um repositório . nota
Atualmente, não há suporte para repositórios privados. Se seu conteúdo estiver armazenado em um GitHub repositório privado, você poderá baixá-lo para a instância e usar a
--bundle-location
opção para especificar seu caminho local. -
Prepare o conteúdo (incluindo um AppSpec arquivo) que você deseja implantar na instância e coloque-o na instância local, no bucket do Amazon S3 ou no seu GitHub repositório. Para ter mais informações, consulte Trabalhando com revisões de aplicativos para CodeDeploy.
-
Se você quiser usar valores diferentes dos padrões para outras opções de configuração, crie o arquivo de configuração e coloque-o na instância (
C:\ProgramData\Amazon\CodeDeploy\conf.yml
para instâncias do/etc/codedeploy-agent/conf/codedeployagent.yml
Amazon LinuxRHEL, Ubuntu Server ou Windows Server). Para ter mais informações, consulte CodeDeploy referência de configuração do agente.nota
Se você usa um arquivo de configuração em instâncias do Amazon Linux ou Ubuntu Server, você deve: RHEL
-
Usar as variáveis
:root_dir:
e:log_dir:
para especificar locais diferentes dos padrões para as pastas do diretório raiz e de log da implantação. -
Use
sudo
para executar comandos CodeDeploy do agente.
-
Criar uma implantação local
Na instância em que você deseja criar a implantação local, abra uma sessão de terminal (instâncias do Amazon Linux ou Ubuntu Server) ou um prompt de comando (Windows Server) para executar os comandos da ferramenta. RHEL
nota
O comando codedeploy-local é instalado nos seguintes locais:
-
No Amazon Linux,RHEL, ou Ubuntu Server:
/opt/codedeploy-agent/bin
. -
No Windows Server:
C:\ProgramData\Amazon\CodeDeploy\bin
.
Sintaxe básica de comando
codedeploy-local [options]
Resumo
codedeploy-local [--bundle-location <value>] [--type <value>] [--file-exists-behavior <value>] [--deployment-group <value>] [--events <comma-separated values>] [--agent-configuration-file <value>] [--appspec-filename <value>]
Opções
-l, --bundle-location
O local do pacote de revisão do aplicativo. Se você não especificar um local, por padrão, a ferramenta usará o diretório no qual você está trabalhando no momento. Se você especificar um valor para --bundle-location
, também deverá especificar um valor para --type
.
Exemplos de formato de local do pacote:
-
Instância local do Amazon Linux ou Ubuntu Server: RHEL
/path/to/local/bundle.tgz
-
Instância local do Windows Server:
C:/path/to/local/bundle
-
Bucket do Amazon S3:
s3://amzn-s3-demo-bucket/bundle.tar
-
GitHub repositório:
https://github.com/
account-name
/repository-name
/
-t, --type
O formato do pacote de revisão do aplicativo. Os tipos compatíveis incluem tgz
, tar
, zip
e directory
. Se você não especificar um tipo, a ferramenta usará directory
por padrão. Se você especificar um valor para --type
, também deverá especificar um valor para --bundle-location
.
-b, -- file-exists-behavior
Indica como são processados os arquivos que já existem em um local de destino de implantação, mas não faziam parte de uma implantação anterior bem-sucedida. As opções incluemDISALLOW,OVERWRITE,RETAIN. Para obter mais informações, consulte fileExistsBehaviorem AWS CodeDeploy APIReferência.
-g, --deployment-group
O caminho para a pasta que é o local de destino do conteúdo a ser implantado. Se você não especificar uma pasta, a ferramenta criará uma chamada default-local-deployment-groupdentro do seu diretório raiz de implantação. Para cada implantação local que você cria, a ferramenta gera um subdiretório dentro desta pasta com nomes como d-98761234-local.
-e, --events
Um conjunto de ganchos de eventos de ciclo de vida de substituição que você deseja executar, em ordem, em vez dos eventos listados no arquivo. AppSpec É possível especificar vários ganchos, separando-os por vírgulas. Você pode usar essa opção se:
-
Você deseja executar um conjunto diferente de eventos sem precisar atualizar o AppSpec arquivo.
-
Você deseja executar um único gancho de evento como uma exceção ao que está no AppSpec arquivo, como
ApplicationStop
.
Se você não especificar DownloadBundlee instalar eventos na lista de substituição, eles serão executados antes de todos os ganchos de eventos que você especificar. Se você incluir DownloadBundlee instalar na lista de --events
opções, elas deverão ser precedidas somente por eventos que normalmente são executados antes delas nas CodeDeploy implantações. Para ter mais informações, consulte AppSpec seção 'ganchos'.
-c, -- agent-configuration-file
O local de um arquivo de configuração a ser usado para a implantação, se você o armazenar em um local diferente do padrão. Um arquivo de configuração especifica alternativas para outros valores e comportamentos padrão de uma implantação.
Por padrão, os arquivos de configuração são armazenados em /etc/codedeploy-agent/conf/codedeployagent.yml
(instâncias do Amazon Linux ou Ubuntu Server) ou C:/ProgramData/Amazon/CodeDeploy/conf.yml
(Windows Server). RHEL Para obter mais informações, consulte CodeDeploy referência de configuração do agente.
-A, --appspec-nome do arquivo
O nome do AppSpec arquivo. Para implantações locais, os valores aceitos são appspec.yml
e appspec.yaml
. Por padrão, o AppSpec arquivo é chamadoappspec.yml
.
-h, --help
Exibe um resumo do conteúdo de ajuda.
-v, --version
Exibe o número de versão da ferramenta.
Exemplos
Veja a seguir exemplos de formatos de comando válidos.
codedeploy-local
codedeploy-local --bundle-location /path/to/local/bundle/directory
codedeploy-local --bundle-location C:/path/to/local/bundle.zip --type zip --deployment-group my-deployment-group
codedeploy-local --bundle-location /path/to/local/directory --type directory --deployment-group my-deployment-group
Implantar um empacotamento a partir do Amazon S3:
codedeploy-local --bundle-location s3://amzn-s3-demo-bucket/bundle.tgz --type tgz
codedeploy-local --bundle-location s3://amzn-s3-demo-bucket/bundle.zip?versionId=1234&etag=47e8 --type zip --deployment-group my-deployment-group
Implante um pacote a partir de um GitHub repositório público:
codedeploy-local --bundle-location https://github.com/awslabs/aws-codedeploy-sample-tomcat --type zip
codedeploy-local --bundle-location https://api.github.com/repos/awslabs/aws-codedeploy-sample-tomcat/zipball/master --type zip
codedeploy-local --bundle-location https://api.github.com/repos/awslabs/aws-codedeploy-sample-tomcat/zipball/HEAD --type zip
codedeploy-local --bundle-location https://api.github.com/repos/awslabs/aws-codedeploy-sample-tomcat/zipball/1a2b3c4d --type zip
Implantar um pacote especificando vários eventos de ciclo de vida:
codedeploy-local --bundle-location /path/to/local/bundle.tar --type tar --application-folder my-deployment --events DownloadBundle,Install,ApplicationStart,HealthCheck
Interrompa um aplicativo implantado anteriormente usando o evento de ApplicationStop ciclo de vida:
codedeploy-local --bundle-location /path/to/local/bundle.tgz --type tgz --deployment-group --events ApplicationStop
Implantar usando um ID de grupo específico para implantação:
codedeploy-local --bundle-location C:/path/to/local/bundle/directory --deployment-group 1234abcd-5dd1-4774-89c6-30b107ac5dca
codedeploy-local --bundle-location C:/path/to/local/bundle.zip --type zip --deployment-group 1234abcd-5dd1-4774-89c6-30b107ac5dca