如何将项目源文件夹链接到现有的Elastic Beanstalk应用程序?

时间:2018-11-01 02:56:16

标签: amazon-web-services ebcli amazon-elastic-beanstalk

我一直在使用AWS控制台上传WAR文件以进行部署。现在,我想从命令行执行此操作。我一直在关注this guide,并且看到eb init并阅读了eb init --helpeb --help的帮助,但是唯一的选择就是创建一个新的应用程序。

usage: eb init <application_name> [options ...]

Initializes your directory with the EB CLI. Creates the application.

positional arguments:
  application_name      application name

如何将本地源项目目录链接到AWS控制台中的现有应用程序?

我希望有一个像eb link之类的命令,或者像add a Git remote with Heroku这样的命令,然后自动将现有项目链接到现有应用。

4 个答案:

答案 0 :(得分:0)

Beanstalk在此工作流程中与Heroku有所不同,除非您使用的是CodeCommit。我假设您只是使用S3来存储您的应用程序版本。

执行此操作的EBCLI命令是:
eb create-application-version

您可以在S3中指定应用程序,版本标签以及CodeCommit存储库,codeBuild构建或源包。 API docs

在create-application-version之前,您需要运行一个单独的命令才能上传到您的S3存储桶。
使用CLI:
aws s3 cp <filename> <s3bucket> API docs

您也可以使用控制台。

该指南似乎跳过了初始化本地git存储库的过程。要将本地源项目链接到beantalk,请确保已初始化本地git存储库。然后,您可以使用eb init链接工作区和应用程序。 more about EB CLI and Git

答案 1 :(得分:0)

在包含源代码的目录中执行eb init时,eb将提示您输入应用程序名称和环境名称。这样,您可以将源代码链接到Beanstalk上已部署的应用程序/环境。

答案 2 :(得分:0)

在我获得了该项目的AWS CLI密钥并运行了aws configure之后,它就起作用了。我在~/.aws/中有一个旧的密钥,可能来自一个十年前使用不同格式的项目。一旦我获得了新密钥,便获得了对这些特定应用程序的许可,并运行了aws configure并设置了区域,然后eb init将显示一个菜单供您选择。 aws elasticbeanstalk describe-applications必须先运行命令eb。我期望它会像Heroku一样要求输入用户名和密码。

安装AWS和eb命令行工具:

  1. 安装awscli
  2. 从AWS admin开发人员那里获取密钥。
  3. aws configure(示例区域:“ us-east-1”)
  4. aws elasticbeanstalk描述应用程序
  5. 安装Python
  6. pip install awsebcli --upgrade --user
  7. eb添加到您的PATH中,可能是%USERPROFILE%\ AppData \ Roaming \ Python \ Python37 \ Scripts
  8. eb init
  9. eb列表/ eb日志/ eb ssh / eb状态/ eb config / eb帮助

答案 3 :(得分:0)

根据我的理解,您的问题是您在PC上有一个项目目录,并在本地主机上运行您的应用程序,现在您想在AWS Elastic Beanstalk中运行它以将其公开。

如果您已在EB管理控制台中创建了EB应用程序并上传了捆绑的源代码,则源代码将变成application version,您需要使用EB将其部署到您的environment中管理控制台,如下所示: Figure of the management console

然后EB platform(container)将负责此工作并自动运行服务器,只要您通过EB管理控制台设置应用程序用于运行服务器,代理和其他配置的命令- > [您的环境]->配置或使用.ebextensions文件。

如果一切正常,您可以在那时通过环境URL访问应用程序的主页。