如何部署heroku应用程序并忽略文件



我正在为一个在线";建立自己的";纸牌游戏。在应用程序中,我有一个cards.json文件,其中包含自定义卡数据。每当用户创建卡时,该文件都会使用fs进行更改

每当我推送本地更改时,cards.json文件就会在部署时被覆盖。这意味着每次部署都会丢失所有远程数据。如何在使用git push heroku master推送更改时远程包含cards.json文件而不更改该文件

编辑:我想出于澄清的原因,我已经尝试使用.gitignore并从暂存区删除该文件。我不完全确定,但我认为问题是,当部署应用程序时,文件会被覆盖。

所以我刚刚发现在运行时创建的数据总是会被删除/重置。

https://devcenter.heroku.com/articles/dynos#ephemeral-文件系统

我想对于其他有同样问题的人来说,最好的解决方案是:

a( 查看数据库和Heroku附加组件((

b( 这是一个很好的解决方法,可能有更好的方法来做到这一点,但是:

// Go into a new directory, and use
$ heroku ps:copy <FILENAME> --app <APPNAME>
// Then, copy+paste the data from this file into your main repo.
/* Now, each time you do this, you need to make sure you delete that file from the 
* extra directory you created as ps:copy only works when the file doesnt exist locally.
*/

我认为git fetch在这种情况下不起作用,因为它只提取未更改的文件,而不是从dyno中提取已更改的文件。

在git中查找.gitignore文件,在我看来这正是您想要的。

如果它一开始没有正确识别.gitignore:

git add [uncommitted changes you want to keep] && git commit
git rm -r --cached .
git add .
git commit -m "fixed untracked files"

在.gitignore中添加cards.json和路径。例如src/test/resources/testdata/cads.json

相关内容

  • 没有找到相关文章

最新更新