我有一个COVID-19报告Web应用程序,托管在Heroku上(http://www.rajcovid19.info),其中的数据来自John Hopkins大学Git存储库。我已将该存储库添加为我的主项目存储库的子模块,我使用它来推送更改到Heroku。这使我能够在计算机上拉取COVID-19存储库的更新,然后将这些更改推送到Heroku。但是,我无法直接将最新提交的COVID-19子模块拉到Heroku应用中。我尝试使用GitPython,但每当我尝试拉取更改时,它都会产生“无效的Git存储库”错误。
至于我的GitPython代码无法运行,这是它:
这在我的电脑上可以运行,但在Heroku应用程序上会出现“无效的Git Repo”错误。我进行了一些调试,并确保在Heroku应用程序上仓库的路径是正确的,但似乎并没有帮助。
我目前解决这个问题的工作方案是在我的笔记本电脑上制作一个脚本,定期检查COVID-19存储库是否有更改,然后将它们推送到Heroku应用程序。
这个方法可行,但需要我每天至少打开一次我的笔记本电脑。
是否可能让Heroku自动拉取子模块的最新提交?
编辑:
根据Heroku,该服务具有“短暂存储”: 我认为这可能也会使事情变得复杂?至于我的GitPython代码无法运行,这是它:
那是:
# Root directory for the COVID-19 Local repository root=os.getcwd()
if os. path.isdir(root+"/COVID-19"):
root+="/COVID-19"
repo=Repo(root) git=repo.git git. pull
else:
root+="/COVID-19"
os.system("git clone https://github.com/CSSEGISandData/COVID-19.git")
这在我的电脑上可以运行,但在Heroku应用程序上会出现“无效的Git Repo”错误。我进行了一些调试,并确保在Heroku应用程序上仓库的路径是正确的,但似乎并没有帮助。