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