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:视图函数映射正在覆盖现有端点函数