Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rake 将Gollum wiki部署到Heroku_Rake_Heroku_Sinatra - Fatal编程技术网

Rake 将Gollum wiki部署到Heroku

Rake 将Gollum wiki部署到Heroku,rake,heroku,sinatra,Rake,Heroku,Sinatra,Gollum是“一个简单的、基于Git的wiki,具有甜美的API和本地前端。” 它托管在GitHub上: 它似乎是一个简单的Sinatra应用程序,因此,它应该很容易部署到Heroku。我似乎无法让它工作。主要是因为我对Rake和config.ru文件几乎一无所知 甚至可以在Heroku上部署Gollum wiki吗?如果是这样,我的config.ru文件应该是什么样子 更新/编辑 库/咕噜/前端/应用程序: module Precious class App < Sinatra::

Gollum是“一个简单的、基于Git的wiki,具有甜美的API和本地前端。”

它托管在GitHub上:

它似乎是一个简单的Sinatra应用程序,因此,它应该很容易部署到Heroku。我似乎无法让它工作。主要是因为我对Rake和config.ru文件几乎一无所知

甚至可以在Heroku上部署Gollum wiki吗?如果是这样,我的config.ru文件应该是什么样子

更新/编辑

库/咕噜/前端/应用程序:

module Precious
  class App < Sinatra::Base


如果它是一个sinatra应用程序,应该可以为您提供。

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

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

请参阅相关的

因此,解决方案是将repo克隆到临时路径,在那里工作,并将更改推送到远程repo。这会带来很大的开销:每次用户浏览wiki页面时,都需要克隆repo

想到的另一个解决方案是为grit制作一些API,使其能够远程使用git


另一个解决方案是通过ssh使用git。

不幸的是,它不是那种形式的sinatra应用程序。我用一些额外的细节更新了原来的问题。截至2014年2月,下面的@jassa已经提出了一个有效的解决方案!在寻找在Rails应用程序中安装wiki的方法时遇到了这个问题。这些局限性仍然存在吗?@woodardj 5年对网络来说就像一个世纪。如果您在Heroku的上下文中询问,Docker是一个非常现代的解决方案,并且对于持久卷,您根本不应该有这个问题。
require 'gollum/frontend/app'
Precious::App.set(:gollum_path, gollum_path)
Precious::App.run!(options)
require 'hello'
run Sinatra::Application