从命令行推送到现有的AWS Elastic Beanstalk应用程序

时间:2013-12-08 06:06:29

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

我使用Elastic Beanstalk的Web仪表板来创建应用程序和环境。我知道我可以使用仪表板更新它并上传我的应用程序的zip文件,但我宁愿使用命令行上传我的应用程序。

显然,正确的工具是eb,即Elastic Beanstalk的CLI。我按照亚马逊“Deploying a Flask Application to AWS Elastic Beanstalk”教程安装了这个并尝试使用它。但是,这似乎创建了与EB仪表板上可见的完全不同的应用程序 - 对其进行的更改不会显示在仪表板上,并且应用程序甚至具有不同的URL。

如何使用命令行访问AWS Elastic Beanstalk上的现有应用程序?

3 个答案:

答案 0 :(得分:8)

要开始对您的应用程序使用git aws.push,您必须使用AWS Beanstalk元数据初始化您的git存储库。我假设您使用git进行版本控制(如果不是,则必须先使用git init初始化项目)。

$ cd angrywhopper
$ git init #optional
$ eb init
...
$ git aws.push

完成向导步骤,提交代码并推送应用程序。

可以通过重新运行eb init或.ebextensions目录中的配置文件来进一步自定义Elastic Beanstalk容器。

如果eb不支持您想要使用的内容,请查看功能更丰富的AWS Elastic Beanstalk API Command Line Interface

有关配置的更多详细信息,请参阅以下指南:

确保eb向导中的服务区域与您在仪表板下拉列表中选择的区域相同。

注意:我建议在开始时使用临时名称,以确保您的应用在新工作流程中按预期工作,然后通过重新运行eb init将其重命名为原始名称。一旦完成迁移,不要忘记终止临时环境,以避免任何不必要的费用。

答案 1 :(得分:4)

以下是在现有ElasticBeanstalk(EB)应用程序中使用“git aws.push”的步骤。 (这些步骤对于您的问题非常有用,如果您使用另一台机器的命令行设置EB,现在正在新机器上设置工具。)

-

开始之前

你应该在你的系统上安装git,你的代码应该有一个git存储库。

下载最新的“AWS Elastic Beanstalk命令行工具”并使其正常运行。在此处找到要下载的链接:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-reference-branch-environment.html

git aws.push命令无效,导致您的.ebextensions未配置。 (基本上.ebextensions将您的AWS密钥和信息存储在EB实例上以便部署到其他地方。)

-

<强>步骤

运行eb --init命令。 (我从我的应用程序代码目录的根目录执行此操作,它会自动选择应用程序的名称。也许您可以从任何其他位置运行该命令并稍后手动指定名称。)

AWS-ElasticBeanstalk-CLI-2.6.0/eb/linux/python2.7/eb(在Linux上)或

AWS-ElasticBeanstalk-CLI-2.6.0/eb/windows/eb.exe(在Windows上)

输入您的AWS访问密钥ID和秘密访问密钥

选择您为应用程序配置的环境(选项包括AMI Linux 64bit,Ubuntu 32bit等)。基本上选择在创建第一个EB实例时选择的选项。

对于创建RDS实例? [y / n]:说n(您已有数据库实例或不需要数据库实例)。

选择“创建默认实例配置文件”。

这将是eb -init下的最后一步,脚本将退出。

您可以在此处找到有关上述步骤的更多信息:http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_Python.html

-

可随时使用的环境

上述步骤将导致.ebextensions目录(在〜/我猜中。)

从现在开始git commit代码中的更改并运行git aws.push,应用程序将部署到AWS。一旦完成所有配置,它就会非常酷。

希望这会有所帮助。我很快就把它记下来了。如果您发现步骤令人困惑,请告诉我,我会尝试更好地编写它。

答案 2 :(得分:2)

  1. 在aws.amazon.com-&gt;弹性beanstalk中创建应用程序并尝试在eb CLI上访问该应用程序:

    一个。当您在控制台上提供eb init时,CLI将提示您选择该区域。

    湾确保选择与您在网页上选择的区域相同的区域。 (注意:如果你不选择相同的区域,它会带你去创建一个全新的应用程序。这就是我犯的错误)

  2. 首先在本地使用eb CLI创建应用程序,然后尝试访问网页上的同一个应用程序。

    一个。 $&GT; eb控制台(来自应用程序根目录,前提是您最初执行$&gt; eb init)

    湾您可以直接登录该网站,并确保选择在本地配置应用程序的相同区域(例如:US - N California),您应该能够看到您部署的应用程序。