使用git和Heroku更新我的应用程序删除图片

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用git和Heroku更新我的应用程序删除图片相关的知识,希望对你有一定的参考价值。

我正面临着一个我不知道如何解决的问题。基本上,当我的应用程序在Heroku上运行时,我可以在平台上传图片:这些图片保存在我的Angular应用程序的目录中:/public/images

但是,每次我像这样更新我的应用程序:

git add .
git commit -m 'my message'
git push heroku master

我在/public/images的照片刚刚消失。

你知道如何更新我的应用程序而不删除图片吗?我之前也尝试过,但它告诉我一切都是最新的。

PS:更具体地说,当我使用git push heroku master部署我的应用程序时,我的文件/public/images被删除并被替换。

答案

当你说/public/images我认为它在你的heroku dyno文件系统本身而不是在任何外部存储器如S3桶。请注意,Heroku dyno的文件系统是ephemeral,不应该用于任何永久存储(在您的情况下,存储图片)。当通常在您部署新代码时重新启动dyno时,或者作为正常dyno管理的一部分,大约每天一次重启。

引用Heroku应用程序的外部存储上的其他SO answer

任何需要永久性的文件都应该写入S3或类似的持久存储。 S3是首选,因为Heroku在AWS上运行,S3提供了一些性能优势。任何可以随意重新创建的文件都可以存储在dyno的临时商店中。

以上是关于使用git和Heroku更新我的应用程序删除图片的主要内容,如果未能解决你的问题,请参考以下文章

从Heroku应用程序中访问当前git提交号

Heroku git push 不更新节点模块

如何从 Heroku 应用程序中提取更新的文件?

“Git push heroku master”命令出错

在 bitbucket 上使用 git 部署到 Heroku

Git 在与 Heroku 交谈时使用了错误的电子邮件地址