来自heroku的ruby-git diff
我已经在heroku上部署了一个篝火机器人(sinatra应用程序使用tinder来收听篝火室),我想查询它在另一个heroku应用程序上部署的内容和我们的
github repo中的内容之间的git差异.如果我在本地这样做,我只是
>克隆github repo 但是,在heroku上,我仅限于使用tmp目录(在竹子上)或短暂的文件系统(在雪松上),并且还难以为应用程序运行的用户管理ssh密钥. 如何在heroku上完成此操作,最好是能够以树格式显示结果? 解决方法
我将假设您对
cedar’s ephemeral filesystem不满意,因为每次dyno重启都会丢失文件并且不会显示交叉dyno.接受这些限制显然是最简单的解决方案(每个dyno可能必须创建自己的特定git存储库,但就是这样).
第二个最直接的解决方案是在别处计算git日志.您可以编写一个类似Web服务的小应用程序(可能与Sinatra)接受两个存储库URL,并返回它们的差异.然后你可以从heroku应用程序查询.但我想这是排除在外的,因为你要求“在Heroku上”这样做. 这将我们带到最后的解决方案;它涉及在记忆中创造一切;必须使用像FakeFS之类的东西创建初始文件夹,并且必须从ruby本地完成git控件; Scott Chacon’s grit fork做本机调用而不是炮击,所以它可能有效(我不知道Chacon的更改是否被移植到主要的砂砾).这样所有的文件系统访问都可以从ruby完成,一切都在内存中(顺便说一句,你可能想要升级你的内存) 我没有亲自尝试过这些,我不知道他们的表现如何. 如果你需要持久性,也许你可以将整个事物整理到数据库中,但这听起来很麻烦. 我希望这有帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |