如何托管、写入文本文件并将其推送到 git 存储库

How to host, write to, and push a text file to a git repo

我有一个非常具体的问题,对此我完全没有经验,希望得到一些指导。

我在我的网站上托管了一个简单的 HTML/JS 表单,要求输入 phone 号码,并在提交后向 Python 应用程序发出请求我'我用 Google App Engine 托管,然后运行 ​​API 将文本发送到该号码。

到目前为止,效果很好。但是我希望能够将该数字存储到一个简单的文本文件中,并将其推送到我的 git 存储库,因为我有一个 Heroku 应用程序可以监听每次推送以重新部署该应用程序并且 运行计划任务向现在更新的列表中的每个号码发送一条常规短信。

我 运行 遇到的问题是弄清楚这个数字文本文件的托管位置以及如何写入它,然后使用像 gitpython 这样的库进行推送。

这一切都在本地工作,但当应用程序由 Google App Engine/Heroku.

构建和部署时就不行了

But I want to be able to store that number to a simple text file, and push that to my git repo, because I have a Heroku app that listens for every push to redeploy the app and run a scheduled task to send out a regular text message to every number on that now-updated list.

我敢肯定这不是您想听到的,但是在文本文件中对数据进行硬编码并在每次数据更改时重新部署您的应用程序没有多大意义。数据和代码是根本不同的东西;更改数据永远不需要重新部署应用程序。

此外,还不清楚您在哪里编写该文件,但如果它在您的 Heroku 服务器上,您将遇到其他问题。它的文件系统是 both ephemeral and dyno-local, e.g. so if you try to view a saved file via heroku run bash you won't see it (that runs on a one-off dyno, not a running web dyno) and it will be lost within 24 hours due to automatic dyno restarts.

将数据保存在适当的客户端-服务器数据库中而不是文本文件中可以解决这两个问题。

(我不熟悉Google App Engine,但它可能有类似的限制。即使没有,这仍然是一个更好的架构。)