Crie um pacote de origem da aplicação Elastic Beanstalk - 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á.

Crie um pacote de origem da aplicação Elastic Beanstalk

Este tópico explica como carregar arquivos de origem da sua aplicação para o Elastic Beanstalk em um pacote de origem. Ele explica os requisitos de um pacote de origem, sua estrutura e as abordagens para criá-lo.

Quando você usa o console do AWS Elastic Beanstalk para implantar uma nova aplicação ou uma versão da aplicação, você precisará carregar os arquivos da aplicação em um pacote de origem. O pacote de origem deve cumprir os seguintes requisitos:

  • Consistir em um único arquivo ZIP ou WAR (você pode incluir vários arquivos WAR em seu arquivo ZIP)

  • Não exceder 500 MB

  • Não incluir uma pasta pai ou o diretório de nível superior (subdiretórios podem ser usados)

Se você deseja implantar um aplicativo do operador que processa tarefas periódicas em segundo plano, o pacote de origem do aplicativo deverá incluir também um arquivo cron.yaml. Para ter mais informações, consulte Tarefas periódicas.

Se você estiver implantando sua aplicação com a Elastic Beanstalk Command Line Interface (EB CLI), o AWS Toolkit for Eclipse ou o AWS Toolkit for Visual Studio, o arquivo ZIP ou WAR será automaticamente estruturado de modo correto. Para mais informações, consulte Usar a Interface de Linhas de Comando do Elastic Beanstalk (CLI do EB), Implantação de aplicações Java com o Elastic Beanstalk e A AWS Toolkit for Visual Studio.

Criar pacote de origem a partir da linha de comando

Crie um pacote de origem usando o comando zip. Para incluir arquivos e pastas ocultos, use um padrão, como os seguintes.

~/myapp$ zip ../myapp.zip -r * .[^.]* adding: app.js (deflated 63%) adding: index.js (deflated 44%) adding: manual.js (deflated 64%) adding: package.json (deflated 40%) adding: restify.js (deflated 85%) adding: .ebextensions/ (stored 0%) adding: .ebextensions/xray.config (stored 0%)

Isso garante que os arquivos de configuração do Elastic Beanstalk e outros arquivos e pastas que começam com um ponto sejam incluídos no arquivo.

Para aplicativos web Tomcat, use jar para criar um arquivamento web.

~/myapp$ jar -cvf myapp.war .

Os comandos acima incluem arquivos ocultos que podem aumentar o tamanho do pacote de origem desnecessariamente. Para obter mais controle, use um padrão de arquivo mais detalhado ou crie seu pacote de origem com o Git.

Criar pacote de origem com o Git

Se você estiver usando o Git para gerenciar o código-fonte do aplicativo, use o comando git archive para criar o pacote de origem.

$ git archive -v -o myapp.zip --format=zip HEAD

git archive inclui apenas os arquivos que são armazenados em git e exclui arquivos ignorados e git. Isso ajuda a manter o pacote de origem o menor possível. Para obter mais informações, acesse a página do manual git-archive.

Compactar arquivos no Mac OS X Finder ou Windows Explorer

Quando você criar um arquivo ZIP no Mac OS X Finder ou Windows Explorer, certifique-se de compactar os arquivos e subpastas, em vez da pasta pai.

nota

A interface gráfica de usuário (GUI) nos sistemas operacionais baseados em Mac OS X e Linux não exibe os arquivos e pastas com nomes que começam com um ponto (.). Use a linha de comando em vez da GUI para compactar o aplicativo se o arquivo ZIP deve incluir uma pasta oculta, como .ebextensions. Para os procedimentos de linha de comando para criar um arquivo ZIP no sistema operacional baseado em Mac OS X ou Linux, consulte Criar pacote de origem a partir da linha de comando.

exemplo

Suponhamos que você tenha uma pasta de projeto Python chamada myapp, que inclui os seguintes arquivos e subpastas:

myapplication.py README.md static/ static/css static/css/styles.css static/img static/img/favicon.ico static/img/logo.png templates/ templates/base.html templates/index.html

Como observado na lista de requisitos acima, seu pacote de origem deve ser compactado sem uma pasta pai, para que a estrutura descompactada não inclua um diretório de nível superior extra. Neste exemplo, nenhuma pasta myapp deverá ser criada quando os arquivos forem descompactados (ou, na linha de comando, nenhum segmento myapp deverá ser adicionado aos caminhos de arquivo).

Este exemplo de estrutura de arquivos é usado em todo este tópico para ilustrar como compactar arquivos.

Criar pacote de origem para um aplicativo .NET

Se você usar o Visual Studio, poderá usar a ferramenta de implantação incluída no AWS Toolkit for Visual Studio para implantar a aplicação .NET no Elastic Beanstalk. Para ter mais informações, consulte Implantação de aplicativos do Elastic Beanstalk em. NETusando a ferramenta de implantação.

Se você precisa criar manualmente um pacote de origem para o seu aplicativo .NET, não pode simplesmente criar um arquivo ZIP que contenha o diretório do projeto. É necessário criar um pacote de implantação da Web para seu projeto que seja adequado à implantação no Elastic Beanstalk. Há vários métodos que podem ser usados para criar um pacote de implantação:

  • Crie o pacote de implantação usando o assistente Publicar na Web no Visual Studio. Para obter mais informações, acesse Como criar um pacote de implantação Web no Visual Studio.

    Importante

    Ao criar o pacote de implantação da Web, inicie o Nome do site com Default Web Site.

  • Se tiver um projeto .NET, você poderá criar o pacote de implantação usando o comando msbuild, conforme exibido no exemplo a seguir.

    Importante

    O parâmetro DeployIisAppPath deve começar com Default Web Site.

    C:/> msbuild <web_app>.csproj /t:Package /p:DeployIisAppPath="Default Web Site"
  • Se você tem um projeto de site, pode usar a ferramenta de implantação da Web do IIS para criar o pacote de implantação. Para obter mais informações, acesse Packaging and Restoring a Web site.

    Importante

    O parâmetro apphostconfig deve começar com Default Web Site.

Se estiver implantando vários aplicativos ou um aplicativo ASP.NET Core, coloque sua .ebextensions pasta na raiz do pacote de origem, lado a lado com os pacotes do aplicativo e arquivo manifesto:

~/workspace/source-bundle/ |-- .ebextensions | |-- environmentvariables.config | `-- healthcheckurl.config |-- AspNetCore101HelloWorld.zip |-- AspNetCoreHelloWorld.zip |-- aws-windows-deployment-manifest.json `-- VS2015AspNetWebApiApp.zip

Testar pacote de origem

Convém testar seu pacote de origem localmente antes de fazer upload para o Elastic Beanstalk. Como o Elastic Beanstalk usa basicamente a linha de comando para extrair os arquivos, é melhor fazer os testes a partir da linha de comando em vez de usar uma ferramenta GUI.

Certifique-se de que os arquivos descompactados aparecem na mesma pasta que o próprio arquivo, não em uma nova pasta ou diretório de nível superior.