1

我需要制作一个 Rail 3 应用程序“SaaS”。我知道对多租户/数据分离等有不同的看法。目前我正在使用“总数据分离”选项,在每次注册时,我都会启动一个新的 Heroku 应用程序。我有一个启动页面,位于 mydomain.com 和 www.mydomain.com。我还有 CNAME 条目(在 Zerigo 中)*.mydomain.com 指向 proxy.heroku.com(Heroku Mesh)。我也浏览过这个链接 - Ruby on Rails:如何设计 SaaS 基础架构?. 我的要求几乎与此相同。我了解当新用户注册 SaaS 时应执行以下操作 -

  1. 选择应用名称:app-name.mydomain.com
  2. 用户名/密码/角色(可选)和定价选项
  3. 然后将代码部署到一个新的 Heroku 实例(并且可以通过https://github.com/darkbushido/heroku-rails-saas简化重复的 Heroku 任务)
  4. 添加 Heroku 域:添加 .mydomain.com
  5. 使用 Heroku config:add 添加步骤 #2 中的选项

一切看起来都很好。但问题是,我们可以自动化这个过程吗?我在http://rubydoc.info/gems/s中看到了一些相关的宝石,但不确定它们。任何建议都会很棒。

谢谢

4

1 回答 1

0

我看不出为什么不能自动化它的原因。它可以在后台作业中完成(当用户注册时)。在该工作中,您可以使用 heroku gem。查看https://github.com/heroku/heroku/blob/master/lib/heroku/client.rb以查看您可以调用的方法。

以下示例列出了一个帐户的所有 Heroku 应用程序:

require "heroku"
heroku = Heroku::Client.new("email@example.com", "password")

# List all heroku apps
heroku.list.each do |app|
  puts app[0]
end

我希望这有帮助!

于 2012-05-15T08:49:52.167 回答