Elastic Beanstalk 防止文件覆盖

Posted

技术标签:

【中文标题】Elastic Beanstalk 防止文件覆盖【英文标题】:Elastic Beanstalk Prevent Files Overwriting 【发布时间】:2015-08-26 03:25:28 【问题描述】:

所以,我正在尝试使用 Elastic Beanstalk 和 Wordpress 设置本地暂存和生产环境。

所以我有一个使用 git 的本地环境设置,并且我在

中有以下内容
.gitignore.
#################
## WordPress
#################
.git-rewrite/
local-config.php
.elasticbeanstalk/
Linux/

我已经安装了 ELB CLI,我可以运行了

git aws.push

它部署到登台,我也可以运行。

git aws.push --environment main-env-production

效果很好,但让我感到沮丧的是,我在本地安装了 W3 Total Cache 插件,但我没有在本地 MAMP 设置中安装 memcached。

每个设置都使用不同的数据库,我有两个 RDS 设置,一个用于暂存,一个用于生产。

我在暂存环境的总缓存插件中设置了所有缓存信息,我使用 memcached 设置对象缓存并输入我的弹性缓存节点 url。

但是每次我运行 aws.push 时,它似乎都会覆盖我所有的设置,正如你所理解的那样,这真的很烦人,谁能解释它为什么会这样做?

我是否必须让我的本地版本完全反映登台和生产环境,你如何只使用 beanstalk 对某些文件夹进行版本控制?

谢谢,真的很想有一个有效的设置。

【问题讨论】:

【参考方案1】:

首先,您使用的是非常旧的 EB CLI 版本。但这与您的问题/问题无关。

你如何只使用 beanstalk 对某些文件夹进行版本控制?

不,这是不可能的。让我解释一下豆茎在做什么。

Elastic Beanstalk 将您的文件存储在某个目录中,为了简洁起见,我们称之为/app/。每次部署 (aws.push) 时,EB 都会删除整个目录 /app/ 并将其替换为新版本的代码。

基本上,Elastic Beanstalk 上没有版本控制的概念。 aws.push 是一个单独的服务,它获取您的版本化文件,构建一个完整的代码 zip 文件,并将其部署到弹性 beanstalk。

【讨论】:

以上是关于Elastic Beanstalk 防止文件覆盖的主要内容,如果未能解决你的问题,请参考以下文章

如何防止 Elastic Beanstalk 上长时间运行的作业在不阻止缩减的情况下终止?

Flask 和 Elastic Beanstalk-AssertionError:视图函数映射正在覆盖现有端点函数

Elastic Beanstalk设置配置选项

高级 AWS Elastic Beanstalk 环境配置

带有 Elastic Beanstalk CLI 的 WordPress

在 AWS Elastic Beanstalk 中使用 SSM 参数存储