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

Pushing to an existing AWS Elastic Beanstalk application from the command line

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

显然,正确的工具是eb,即Elastic Beanstalk的CLI。 我已经安装了这个并尝试使用它,遵循亚马逊"将Flask应用程序部署到AWS Elastic Beanstalk"教程。 但是,这似乎创建了与EB仪表板上可见的应用程序完全不同的应用程序 - 对其所做的更改未显示在仪表板上,并且应用程序甚至具有不同的URL。

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


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

1
2
3
4
5
$ cd angrywhopper
$ git init #optional
$ eb init
...
$ git aws.push

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

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

如果eb不支持您想要使用的内容,请查看AWS Elastic Beanstalk API命令行界面,该界面功能更丰富。

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

  • 自定义和配置AWS Elastic Beanstalk环境
  • 自定义和配置Python容器

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

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


以下是在现有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 Access Key ID和Secret Access Key

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

对于Create 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。一旦完成所有配置,它就会非常酷。

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


  • 在aws.amazon.com->弹性beanstalk中创建应用程序并尝试在eb CLI上访问应用程序:

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

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

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

    一个。 $> eb console(来自app根目录,前提是你最初做了$> eb init)

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