【问题标题】:Deploy Gollum wiki to Heroku将 Gollum wiki 部署到 Heroku
【发布时间】:2011-05-02 04:06:43
【问题描述】:

Gollum 是“一个简单的、由 Git 驱动的 wiki,具有良好的 API 和本地前端。”

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

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

是否有可能将 Gollum wiki 部署到 Heroku?如果是这样,我的 config.ru 文件应该是什么样的?

更新/编辑

lib/gollum/前端/应用程序:

module Precious
  class App < Sinatra::Base

这是从 bin/gollum 调用的

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

【问题讨论】:

    标签: rake heroku sinatra


    【解决方案1】:

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

    require 'hello'
    run Sinatra::Application
    

    如果它是一个 sinatra 应用程序,那应该可以为您完成。

    【讨论】:

    • 不幸的是,它不是那种风格的 sinatra 应用程序。我用一些额外的细节更新了原始问题。
    【解决方案2】:

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

    【讨论】:

    • 截至 2014 年 2 月,@jassa 下面提出了一个可行的解决方案!
    【解决方案3】:

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

    查看相关question

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

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

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

    【讨论】:

    • 刚刚在寻找一种在 Rails 应用程序中安装 wiki 的方法时遇到了这个问题。这些限制仍然存在吗?
    • @woodardj 5 年对于网络来说就像一个世纪。如果您在 Heroku 的上下文中询问,Docker 是非常现代的解决方案,并且使用持久卷,您根本不应该遇到这个问题。
    猜你喜欢
    • 2014-03-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-18
    • 2014-08-02
    相关资源
    最近更新 更多