2011-09-02 100 views
3

我在heroku上有一個node.js應用程序,它將圖像保存在public/productimages文件夾中。但每次我推新代碼時,所有以前的圖像都會被刪除。我在.gitignore文件中添加了productimages,但沒有用。我的本地計算機中的public/productimages是空的。爲什麼部署後Git覆蓋服務器上的文件?

+1

你怎麼推*? – arnaud576875

+0

你爲什麼推?在這種情況下是不是更好? –

+0

懷疑他在Git的意義上並不是「推」,而是使用Heroku的寶石來部署 – meagar

回答

7

您不允許在Heroku上使用文件系統永久存儲。

原因是每次Heroku啓動你的應用程序時,它都會在一個全新的臨時目錄中啓動它。 Heroku每次關閉應用程序時,都會刪除應用程序之前運行的臨時目錄。Heroku每晚都會執行此操作,每當您每次更改配置變量時,每當您更改插件時,每當您增加或減少dynos的數量等。

必須使用外部服務,如PostgreSQL數據庫或S3,用於存儲您可能想要存儲的任何內容。

+0

謝謝,以前不知道 – user925957

0

雲計算的基本前提:存儲不是永久存在的,除非明確提出。

未使用Heroku,但我相信如果您的文件不是版本化的並且可以從您的回購庫中獲取,則不會保留它們。