加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

来自heroku的ruby-git diff

发布时间:2020-12-17 02:11:35 所属栏目:百科 来源:网络整理
导读:我已经在heroku上部署了一个篝火机器人(sinatra应用程序使用tinder来收听篝火室),我想查询它在另一个heroku应用程序上部署的内容和我们的 github repo中的内容之间的git差异.如果我在本地这样做,我只是 克隆github repo 添加heroku遥控器 根据要求运行git di
我已经在heroku上部署了一个篝火机器人(sinatra应用程序使用tinder来收听篝火室),我想查询它在另一个heroku应用程序上部署的内容和我们的 github repo中的内容之间的git差异.如果我在本地这样做,我只是

>克隆github repo
>添加heroku遥控器
>根据要求运行git diff

但是,在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完成,一切都在内存中(顺便说一句,你可能想要升级你的内存)

我没有亲自尝试过这些,我不知道他们的表现如何.

如果你需要持久性,也许你可以将整个事物整理到数据库中,但这听起来很麻烦.

我希望这有帮助.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读