在尝试使用命令行工具(eb
工具)设置弹性beanstall worker应用程序时,当我启动/更新/停止环境时,我的配置文件(optionsettings.MyApp-env
)会被覆盖。
以下是复制的步骤:
-
使用CLI工具的命令
eb init
,我在Elastic Beanstalk中创建了一个新的应用程序。 -
.elasticbeanstalk
文件夹中的config
文件具有以下行:OptionSettingFile=/Users/doron/projects/workers/my-worker/.elasticbeanstalk/optionsettings.MyWorkerName-dev
-
在第一次运行
eb start
之后,创建了带有一些值的文件。 -
我继续,根据http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options.html所以它将按照我的意愿进行配置(环境参数、自动缩放服务器数量等)
-
为了应用更改,我尝试了以下操作:
- 使用
eb update
更新现有环境 - 使用
eb stop
终止现有环境,并使用eb start
从头开始构建
在这两种情况下,
optionsettings
文件都会在运行命令(update
或start
)后发生更改。该文件的新内容看起来更像我调用第一个
eb start
后得到的香草版本,其中包含了我添加的所有配置参数——完全删除了这些参数。 - 使用
是否有其他配置环境的方法(不是机器上的软件,而是控制台中存在的配置——实例类型、区域、自动缩放、轮换更新等)?
我意识到这是一个旧线程,但如果有人像我一样遇到这个问题,请在AWS论坛上查看Elasticbeanstall的这个线程https://forums.aws.amazon.com/thread.jspa?messageID=395052#395052它解释了如何在.aelasticbeanstall/optionsettings中设置文件是使用API设置的,与.eextensions/*.config文件中设置的文件不同,它们在以后无法更改。
此外,在一个令人难以置信的烦人的举动中,optionsettings文件通常会在其中设置一些你想在.config文件中设置的设置,但在运行eb start时,它会自动重新创建optionsettings文件,这似乎几乎没有可能。这使得如果您想更改类似WSGIPath的内容,那么使用eb命令行工具几乎是不可能的。