【问题标题】:Ruby on Rails integration with Heroku/Engine Yard/similar servicesRuby on Rails 与 Heroku/Engine Yard/类似服务的集成
【发布时间】:2011-09-02 07:48:05
【问题描述】:

我有一个 Ruby on Rails 项目,已通过 GitHub 部署到 PaaS 服务。 Git repo 的结构如下:

/  (root)
  README
  some random files here
  src (directory)
    a_folder
    another_folder
    my_rails_app
      app (directory)
      config (directory)
      config.ru
      db (directory)
      ...
      Gemfile
      ...
      Rakefile
      README
      ...

如您所见,Rails 应用程序是根目录下的两个目录。我想如果有必要我可以将它移动到根目录下的一个文件中,但我肯定需要在版本控制下跟踪其他非 Rails 文件。

但由于我的 Rails 应用程序不在根目录下,我在使用 Engine Yard、Heroku 等时遇到了问题……他们不知道在哪里可以找到 Rakefile。我尝试创建一个 Rakefile (https://gist.github.com/245400) 并将其放在根目录和 src 目录中,但它仍然不起作用。

你知道这里发生了什么或如何解决它吗?

【问题讨论】:

  • 如果你想在 Heroku/Engine Yard 等上部署,你可能只想将所有这些“其他文件夹”放在应用程序目录中(例如,放在名为 supporting_documents 的文件夹中)。然后,您可以将这些文档置于源代码控制之下并部署在 Heroku 上。此外,使用 Heroku,您可以将这些附加文档添加到 slugignore 文件 (devcenter.heroku.com/articles/slug-compiler),这样它们就不会在 slug 中编译。

标签: ruby-on-rails heroku rakefile engineyard


【解决方案1】:

(根据要求;-D)

如果您想在 Heroku/Engine Yard 等上部署,您可能只想将所有这些“其他文件夹”放在应用程序目录中(例如,在名为 support_documents 的文件夹中)。

然后您可以将这些文档置于源代码控制之下并部署在 Heroku 上。此外,使用 Heroku,您可以将这些附加文档添加到 slugignore 文件 (http://devcenter.heroku.com/articles/slug-compiler),这样它们就不会在 slug 中编译。

【讨论】:

  • 隐私问题是什么意思?它们与其他文件一起包含在源代码控制中,因此任何有权访问 repo 的人都会看到这些文件(除非您有某种访问控制)。除非您特意为之,否则您的应用程序将不理会这些文件(即阻止将它们提供给用户)。最后但并非最不重要的一点是,如果您将文件放在 .slugignore 中(在 Heroku 上,不知道 Engine Yard 是否有类似的东西),它不会增加您的 slug 的大小(这与新 dynos 的速度有关为您的应用启动)。
猜你喜欢
  • 2012-02-01
  • 2019-01-07
  • 2012-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-26
相关资源
最近更新 更多