我一直在使用AWS控制台上传WAR文件进行部署。现在我想从命令行执行此操作。我一直在遵循本指南,查看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
之类的命令,比如你可以用Heroku添加一个Git远程,并自动将现有项目链接到现有应用程序。
在包含源代码的目录中执行eb init
时,eb
将提示您输入应用程序名称和环境名称。通过这种方式,您可以将源代码链接到Beanstalk上部署的任何应用程序/环境。
在我获得项目的AWS CLI密钥并运行aws configure
后,它就工作了。我在~/.aws/
中有一个十年前的不同项目的旧密钥,它使用了不同的格式。一旦我获得了新的密钥,这些密钥被授予了这些特定应用程序的权限,并运行了aws configure
并设置了区域,那么eb init
就会显示一个应用程序菜单供选择。命令aws elasticbeanstalk describe-applications
必须首先工作,然后eb
才能工作。我原以为它会像Heroku那样要求提供用户名和密码。
安装aws和eb命令行工具:
- 安装
awscli
- 从AWS管理员devops获取密钥
- aws配置(示例区域:'us-east-1'(
- aws弹性豆茎描述应用
- 安装Python
- pip-install-awsebcli--upgrade--user
- 将
eb
添加到您的PATH中,可能是%USERPROFILE%\AppData\Roaming\Python\Python37\Scripts - eb初始化
- eb列表/eb日志/eb ssh/eb状态/eb配置/eb帮助
Beanstalk在此工作流中与Heroku不同,除非您使用CodeCommit。我假设您只是在使用S3来存储您的应用程序版本。
执行此操作的EBCLI命令是:
eb create-application-version
您可以在S3中指定应用程序、版本标签,以及CodeCommit存储库、codeBuild构建或源捆绑包。API文件
在创建要上传到S3存储桶的应用程序版本之前,您需要运行一个单独的命令
使用CLI:
aws s3 cp <filename> <s3bucket>
API文件
您也可以使用控制台。
该指南似乎跳过了初始化本地git存储库。要将本地源项目链接到beanstall,请确保已初始化本地git存储库。然后,您可以使用eb-init链接您的工作区和应用程序。有关EB CLI和Git 的更多信息
根据我的理解,你的问题是你的电脑上有一个项目目录,并在本地主机上运行你的应用程序,现在你想在AWS Elastic Beanstalk中运行它以将其公开。
如果您在EB管理控制台中创建了EB应用程序并上传了绑定的源代码,则源代码将成为应用程序版本,您需要使用EB管理控制台将其部署到您的某个环境中,如下所示:管理控制台的图。
然后,只要您通过EB管理控制台->[您的环境]->配置或使用.eextensions文件设置应用程序用于运行服务器、代理和其他配置的命令,EB平台(容器(就会自动处理并运行您的服务器。
如果一切顺利,您可以在那时通过环境URL访问应用程序的主页。