Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从命令行推送到现有的AWS Elastic Beanstalk应用程序_Python_Amazon Web Services_Amazon Elastic Beanstalk - Fatal编程技术网

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

Python 从命令行推送到现有的AWS Elastic Beanstalk应用程序,python,amazon-web-services,amazon-elastic-beanstalk,Python,Amazon Web Services,Amazon Elastic Beanstalk,我已经使用Elastic Beanstalk的web仪表板创建了一个应用程序和一个环境。我知道我可以使用仪表板和上传我的应用程序的zip文件来更新它,但我更愿意使用命令行上传我的应用程序 显然,正确的工具是eb,这是弹性豆茎的CLI。我已经安装并尝试使用它,遵循Amazon“”教程。然而,这似乎创建了一个与电子商务仪表板上可见的应用程序完全不同的应用程序-对其所做的更改不会显示在仪表板上,并且应用程序甚至具有不同的URL 如何使用命令行访问AWS Elastic Beanstalk上的现有应用程

我已经使用Elastic Beanstalk的web仪表板创建了一个应用程序和一个环境。我知道我可以使用仪表板和上传我的应用程序的zip文件来更新它,但我更愿意使用命令行上传我的应用程序

显然,正确的工具是
eb
,这是弹性豆茎的CLI。我已经安装并尝试使用它,遵循Amazon“”教程。然而,这似乎创建了一个与电子商务仪表板上可见的应用程序完全不同的应用程序-对其所做的更改不会显示在仪表板上,并且应用程序甚至具有不同的URL


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

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

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

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

如果
eb
不支持您想要使用的内容,请查看功能更丰富的内容

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

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

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

以下是在现有ElasticBeanstalk(EB)应用程序中使用“git aws.push”的步骤。(这些步骤特别适用于您的问题,如果您已经使用另一台机器上的命令行设置了EB,并且现在正在新机器上设置工具,则这些步骤也会很有用。)

--

开始之前

您应该在系统上安装git,并且您的代码应该有git存储库

下载最新的“AWS Elastic Beanstalk命令行工具”并使其正常工作。请在此处找到要下载的链接:

由于未配置
.ebextensions
,git aws.push命令无法工作。(基本上,.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 64位、Ubuntu 32位等)。基本上选择创建第一个EB实例时选择的选项

创建RDS实例?[y/n]:假设n(您已经有一个DB实例或者不需要)

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

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

您可以在此处找到有关上述步骤的更多信息:

--

环境可供使用

以上步骤将生成一个.ebextensions目录(我猜是在~/I中)

从现在开始,只需
git提交
代码中的更改,然后运行
git aws.push
,应用程序将部署到aws。一旦全部配置好,它就相当酷了

希望这有帮助。我很快就记下来了。如果您觉得这些步骤令人困惑,请告诉我,我会尽量写得更好

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

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

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

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

    a、 $>eb控制台(从应用程序根目录,前提是您最初执行了$>eb init)

    b。您可以直接登录网站,并确保选择本地配置应用程序的同一地区(例如:美国-北加利福尼亚州),您应该能够看到您部署的应用程序


  • 我在这里看不到答案。您刚才重申了教程。是我还是eb cli 3.0是一套完全不同的工具?它只有eb deploy用于推送到Beanstalk这里是用python编写的3.x eb CLI,这里的2.6.4版本是用ruby编写的,其中一些是用python编写的。两人都说他们是“最新的”,但明显不同。这里的文档需要改进。这并不能回答问题。您的回答重复了Amazon的文档,该文档清楚地表明,当op指定要使用现有应用程序时,
    eb init
    命令将创建一个新的应用程序。@CyberJacob
    eb init
    将创建eb元数据。它不创建应用程序。如果您遵循原始文档步骤,那么下一步将是创建一个示例应用程序。您可以在现有应用程序中跳过它。所选答案已过期
    $ cd angrywhopper
    $ git init #optional
    $ eb init
    ...
    $ git aws.push