我一直在使用AWS控制台上传WAR文件以进行部署。现在,我想从命令行执行此操作。我一直在关注this guide,并且看到eb init
并阅读了eb init --help
和eb --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这样的命令,然后自动将现有项目链接到现有应用。
答案 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命令行工具:
awscli
eb
添加到您的PATH中,可能是%USERPROFILE%\ AppData \ Roaming \ Python \ Python37 \ Scripts 答案 3 :(得分:0)
根据我的理解,您的问题是您在PC上有一个项目目录,并在本地主机上运行您的应用程序,现在您想在AWS Elastic Beanstalk中运行它以将其公开。
如果您已在EB管理控制台中创建了EB应用程序并上传了捆绑的源代码,则源代码将变成application version,您需要使用EB将其部署到您的environment中管理控制台,如下所示: Figure of the management console。
然后EB platform(container)将负责此工作并自动运行服务器,只要您通过EB管理控制台设置应用程序用于运行服务器,代理和其他配置的命令- > [您的环境]->配置或使用.ebextensions文件。
如果一切正常,您可以在那时通过环境URL访问应用程序的主页。