Usar o EB CLI com o AWS CodeCommit - AWS Elastic Beanstalk

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

Usar o EB CLI com o AWS CodeCommit

Você pode usar a EB CLI para implantar sua aplicação diretamente de seu repositório AWS CodeCommit. Com o CodeCommit, você pode fazer upload somente de suas alterações no repositório ao implantar, em vez de fazer upload do projeto inteiro. Isso pode poupar tempo e largura de banda se você tem um projeto grande ou conectividade limitada com a Internet. A EB CLI envia confirmações locais e as usa para criar versões da aplicação quando você usa eb appversion, eb create ou eb deploy.

Para implantar as alterações, a integração com o CodeCommit requer a confirmação das alterações primeiro. No entanto, enquanto você desenvolve ou depura, talvez não seja conveniente enviar alterações que ainda não tem certeza de estarem funcionando. Você pode evitar confirmar as alterações feitas preparando-as e usando eb deploy --staged (que executa uma implantação padrão). Ou confirmar suas alterações em uma ramificação de desenvolvimento ou teste primeiro e mesclar a ramificação principal somente quando seu código estiver pronto. Com eb use, você pode configurar a EB CLI para implantar em um ambiente a partir da ramificação de desenvolvimento e em um ambiente diferente da ramificação principal.

nota

Algumas regiões não oferecem CodeCommit. A integração entre o Elastic Beanstalk e o CodeCommit não funciona nessas regiões.

Para obter informações sobre os produtos da AWS oferecidos em cada região, consulte a Tabela de regiões.

Pré-requisitos

Para usar o CodeCommit com o AWS Elastic Beanstalk, é necessário ter um repositório Git local (um que você já possua ou um novo criado) com pelo menos uma confirmação, permissão para usar o CodeCommit, e um ambiente do Elastic Beanstalk em uma região suportada com o CodeCommit. O ambiente e o repositório devem estar na mesma região.

Para inicializar um repositório Git
  1. Execute git init na pasta do projeto.

    ~/my-app$ git init
  2. Prepare os arquivos do projeto com git add.

    ~/my-app$ git add .
  3. Confirme as alterações com git commit.

    ~/my-app$ git commit -m "Elastic Beanstalk application"

Criar um repositório CodeCommit com a CLI do EB

Para começar a usar o CodeCommit, execute eb init. Durante a configuração do repositório, a CLI do EB solicita que você use o CodeCommit para armazenar seu código e acelerar as implantações. Mesmo se você configurou previamente o projeto com eb init, poderá executá-lo novamente para configurar o CodeCommit.

Como criar um repositório CodeCommit com a CLI do EB
  1. Execute eb init na pasta do projeto. Durante a configuração do repositório, a CLI do EB perguntará se você quer usar o CodeCommit para armazenar o código e acelerar as implantações. Se você configurou previamente o projeto com eb init, ainda poderá executá-lo novamente para configurar o CodeCommit. Digite y no prompt para configurar o CodeCommit.

    ~/my-app$ eb init Note: Elastic Beanstalk now supports AWS CodeCommit; a fully-managed source control service. To learn more, see Docs: https://aws.amazon.com/codecommit/ Do you wish to continue with CodeCommit? (y/n)(default is n): y
  2. Escolha Create new Repository.

    Select a repository 1) my-repo 2) [ Create new Repository ] (default is 2): 2
  3. Digite um nome de repositório ou pressione Enter para aceitar o nome padrão.

    Enter Repository Name (default is "codecommit-origin"): my-app Successfully created repository: my-app
  4. Escolha uma ramificação existente para suas confirmações ou use a EB CLI para criar uma nova ramificação.

    Enter Branch Name ***** Must have at least one commit to create a new branch with CodeCommit ***** (default is "mainline"): ENTER Successfully created branch: mainline

Implantar a partir do repositório CodeCommit

Quando você configura o CodeCommit com o repositório da CLI do EB, esta usa o conteúdo do repositório para criar pacotes de origem. Quando você executa eb deploy ou eb create, a EB CLI envia novas confirmações e usa a revisão HEAD da sua ramificação para criar o arquivo que ele implanta nas instâncias do EC2 em seu ambiente.

Como usar a integração do CodeCommit com a CLI do EB
  1. Crie um novo ambiente com eb create.

    ~/my-app$ eb create my-app-env Starting environment deployment via CodeCommit --- Waiting for application versions to be pre-processed --- Finished processing application version app-ac1ea-161010_201918 Setting up default branch Environment details for: my-app-env Application name: my-app Region: us-east-2 Deployed Version: app-ac1ea-161010_201918 Environment ID: e-pm5mvvkfnd Platform: 64bit Amazon Linux 2016.03 v2.1.6 running Java 8 Tier: WebServer-Standard CNAME: UNKNOWN Updated: 2016-10-10 20:20:29.725000+00:00 Printing Status: INFO: createEnvironment is starting. ...

    A EB CLI usa a confirmação mais recente na ramificação rastreada para criar a versão do aplicativo que é implantada no ambiente.

  2. Quando você tiver novas confirmações locais, use eb deploy para enviar as confirmações e implantar em seu ambiente.

    ~/my-app$ eb deploy Starting environment deployment via CodeCommit INFO: Environment update is starting. INFO: Deploying new version to instance(s). INFO: New application version was deployed to running EC2 instances. INFO: Environment update completed successfully.
  3. Para testar as alterações antes de confirmá-las, use a opção --staged para implantar as alterações que você adicionou à área de preparação com git add.

    ~/my-app$ git add new-file ~/my-app$ eb deploy --staged

    A implantação com a opção --staged executa uma implantação padrão, ignorando o CodeCommit.

Configurar ramificações e ambientes adicionais

A configuração do CodeCommit se aplica a uma única ramificação. Você pode usar eb use e eb codesource para configurar ramificações adicionais ou modificar a configuração da ramificação atual.

Como configurar a integração do CodeCommit com a CLI do EB
  1. Para alterar a ramificação remota, use a opção --source do comando eb use.

    ~/my-app$ eb use test-env --source my-app/test
  2. Para criar uma nova ramificação e um novo ambiente, faça o check-out de uma nova ramificação, envie-a para o CodeCommit, crie o ambiente e, depois, use eb use para conectar a ramificação local, a ramificação remota e o ambiente.

    ~/my-app$ git checkout -b production ~/my-app$ git push --set-upstream production ~/my-app$ eb create production-env ~/my-app$ eb use --source my-app/production production-env
  3. Para configurar o CodeCommit interativamente, use eb codesource codecommit.

    ~/my-app$ eb codesource codecommit Current CodeCommit setup: Repository: my-app Branch: test Do you wish to continue (y/n): y Select a repository 1) my-repo 2) my-app 3) [ Create new Repository ] (default is 2): 2 Select a branch 1) mainline 2) test 3) [ Create new Branch with local HEAD ] (default is 1): 1
  4. Para desabilitar a integração ao CodeCommit, use eb codesource local.

    ~/my-app$ eb codesource local Current CodeCommit setup: Repository: my-app Branch: mainline Default set to use local sources

Usar um repositório CodeCommit existente

Se você já tiver um repositório CodeCommit e quiser usá-lo com o Elastic Beanstalk, execute eb init na raiz do repositório Git local.

Como usar um repositório CodeCommit existente com a CLI do EB
  1. Clone o repositório CodeCommit.

    ~$ git clone ssh://git-codecommit.us-east-2.amazonaws.com/v1/repos/my-app
  2. Confira e envie uma ramificação para usar no seu ambiente do Elastic Beanstalk.

    ~/my-app$ git checkout -b dev-env ~/my-app$ git push --set-upstream origin dev-env
  3. Executar eb init. Escolha os mesmos região, repositório e nome da ramificação que está usando no momento.

    ~/my-app$ eb init Select a default region 1) us-east-1 : US East (N. Virginia) 2) us-west-1 : US West (N. California) 3) us-west-2 : US West (Oregon) 4) eu-west-1 : Europe (Ireland) 5) eu-central-1 : Europe (Frankfurt) 6) ap-south-1 : Asia Pacific (Mumbai) 7) ap-southeast-1 : Asia Pacific (Singapore) ... (default is 3): 1 ... Note: Elastic Beanstalk now supports AWS CodeCommit; a fully-managed source control service. To learn more, see Docs: https://aws.amazon.com/codecommit/ Do you wish to continue with CodeCommit? (y/n)(default is n): y Select a repository 1) my-app 2) [ Create new Repository ] (default is 1): 1 Select a branch 1) mainline 2) dev-env 3) [ Create new Branch with local HEAD ] (default is 2): 2

Para obter mais informações sobre o uso de eb init, consulte Configurar a EB CLI.