git - git push heroku 后 - Heroku 上的上传文件丢失

标签 git heroku

我相当基本的应用程序允许用户上传头像。

应用程序部署到 Heroku 上

$ git add .
$ git commit -m "description"
$ git checkout master
$ git merge my-cool-new-feature
$ git push heroku

问题是,每次我将更改推送到 Heroku 时,上传到 Heroku 的所有文件都会丢失。我想,问题是文件夹/文件受版本控制,所以我将文件夹添加到 .gitignore

# Ignore User generated files
/public/system/*

并从存储库中删除文件。

$ git rm -rf --cached public/system

但问题依然存在。你能给我指出正确的方向吗?

最佳答案

这是因为 Heroku 限制了您在其服务器上存储数据的方式。回到 bamboo 堆栈时代,storing any data was simply impossible无需使用外部服务。由于他们引入了 Cedar 堆栈,things have changed a little bit , 但仍然无法存储持久数据。

正如您所发现的,每次您将新更改推送到 Heroku 应用程序时(或者每次应用程序关闭并在非事件 x 分钟后重新启动时),您的应用程序都会重新创建并且所有存储的数据都会丢失。

最好的办法是根本不使用/public 目录,并开始使用外部服务,如 Amazon S3 , Rackspace Cloud FilesSpideroak .

关于git - git push heroku 后 - Heroku 上的上传文件丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11246736/

相关文章:

linux - git 删除系统中不再存在的文件

c# - 让 Jenkins 作业更快地从 GIT 下载代码

python - Heroku 上的“导入错误 : No module named ' , flask ”

docker - 使用 docker Push 到私有(private)注册表(Heroku 注册表)时出现 401 错误

heroku - 如何清理 Heroku 依赖缓存(非托管 Maven 依赖)

postgresql - 如何使一个 heroku 数据库实例跟随多个父数据库?

git - 在 bitbucket 上使用 git 部署到 Heroku

git 提交后 Hook

java - 在 java 测试中获取当前的 git 分支

css - Heroku 没有更新我的 CSS 和 JS