У меня есть веб-приложение для отчетности COVID-19, размещенное в Heroku (http://www.rajcovid19.info), данные для которого я получаю из репозитория Университета Джона Хопкинса Git. Я добавил репозиторий как подмодуль моего основного репозитория проекта, который я использую для изменения Pu sh в Heroku. Это позволяет мне получать обновления репозитория COVID-19 на моем компьютере и затем вносить эти изменения в Heroku. Однако я не могу перенести последние коммиты в подмодуль COVID-19 непосредственно в приложение Heroku. Я пытался использовать GitPython, но он выдает ошибку «Invalid Git Repository» всякий раз, когда я пытаюсь получить изменения.
Мое текущее рабочее решение этой проблемы - создать на моем ноутбуке скрипт, который периодически проверяет наличие изменений в репозитории 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")
Это работает с моим компьютером, но это дает мне ошибку "Invalid Git Repo" в приложении Heroku. Я провел некоторую отладку и убедился, что путь к хранилищу указан правильно в приложении Heroku, но, похоже, это не помогло.