2010-10-28 127 views
12

Gollum是“一个简单的,由Git支持的wiki,具有良好的API和本地前端。”将Gollum wiki部署到Heroku

其托管在GitHub上:http://github.com/github/gollum

这似乎是一个简单的应用程序西纳特拉,正因为如此,现在看来似乎应该很容易部署到Heroku的。我似乎无法得到它的工作。主要是因为我几乎不知道Rake和config.ru文件。

甚至有可能将Gollum wiki部署到Heroku吗?如果是这样,我的config.ru文件需要看起来像什么?

更新/编辑

的lib /咕噜/前端/应用:

module Precious 
    class App < Sinatra::Base 

这会从斌呼吁/咕噜

require 'gollum/frontend/app' 
Precious::App.set(:gollum_path, gollum_path) 
Precious::App.run!(options) 

回答

12

从heroku运行Gollum是不可能的。当然不是一个可编辑的wiki。 Heroku文件系统是只读的。您可能可以使用它来提供静态内容,但我甚至不确定。

+1

截至2014年2月@jassa下面已经提出了一个工作解决方案! – Evolve 2014-02-18 08:31:48

-4

http://docs.heroku.com/rack#sinatra

require 'hello' 
run Sinatra::Application 

如果一世这是一个Sinatra应用程序,应该为你做。

+2

不幸的是,它不是那种方式的sinatra应用程序。我用一些额外的细节更新了原始问题。 – irkenInvader 2010-10-29 20:56:46

3

如前所述,问题在于heroku文件系统是只读的。 但真正的问题是依赖于git命令行工具的底层砂砾。您无法使用远程存储库,而无需将其克隆到本地目录。

查看相关question

因此,解决方案将克隆到临时路径回购,在那里工作,并推动变化到远程回购。有很多开销:每次用户浏览wiki页面时都需要克隆repo。

想到的另一个解决方案是制作一些可以远程使用git的砂砾API。

还有一种解决方案是使用git over ssh。

+0

刚刚遇到此问题,同时寻找一种方法来在Rails应用程序中安装wiki。这些限制仍然是真的吗? – woodardj 2016-03-11 18:25:39

+0

@woodardj 5年就像是一个世纪的网络。如果您在Heroku的背景下提出要求,Docker是非常现代化的解决方案,并且持续的卷本身不应该存在此问题。 – Vanuan 2016-03-12 00:20:09