6

编辑

在部署 Rails 应用程序之前,我需要做哪些容易被忽视的小事?

我已经为任何需要一两分钟以上的任务设置了另一个问题,因此应该安排到部署过程中。在这个问题中,我主要关心在线配置选项和类似的选项,这些可以完成,但在开发周期中经常被忽略,因为它们在部署之前没有任何区别

4

8 回答 8

5
  • 冻结你正在使用的宝石rake gems:unpack
  • 更改密码config/environment.rb
  • 过滤密码等敏感信息:在app/controllers/application.rb filter_parameter_logging :password, :password_confirmation
于 2008-09-19T12:01:31.470 回答
4
  • 确保在生产服务器上设置数据库
  • 设置 capistrano 以正确部署您的应用程序
    • 运行 capistrano 空运行
  • 确保 Rails 被打包到你的 vendor/rails 文件夹中
  • 确保所有 gem 都冻结在您的应用程序中或安装在您的产品服务器上
  • 在生产机器上运行测试
于 2008-09-19T10:58:28.587 回答
2
  • 包括谷歌分析片段(或其他分析)
于 2008-09-19T11:39:42.683 回答
1
  • 检查慢查询日志,并将任何索引添加到导致全表遍历的模型中。

  • grep -ril FIXME

于 2008-09-19T11:28:12.743 回答
1

设置要在应用程序的部署副本之间共享的文件和文件夹,包括(但不限于)视图缓存、数据库配置、维护页面......

于 2008-09-19T11:48:19.380 回答
0

这些并不是真正特定于 Rails 的部署任务,但我已经看到它们在部署系统中被忽视了太多次:

  • 备份;诚然,这最终可能是一项艰巨的任务,但不一定如此。简单地安排数据库和软件的夜间备份通常就足够了。
  • 测试恢复程序
  • 日志轮换和归档
  • 异常通知
于 2008-09-19T13:55:03.927 回答
0
  • 确保您要部署的位置正确设置了 RAILS_ENV 变量。通过环境,或通过 capistrano 回调。
  • 通过运行 rake spec、shouda、单元测试或任何你用来测试的东西来确保你的测试都通过了。
  • 使用 rake gems 解压你的 gem:unpack
  • 决定是否需要冻结 Rails。耙轨:冻结:宝石
  • 如果您需要的不仅仅是 gem(memcached、邮件服务器等),请仔细检查服务器上是否安装了依赖项
  • 如果您使用 MySQL,请在服务器上编译并安装基于 C 的 MySQL 库(这可能需要几分钟以上的时间,但如果所有依赖项都得到满足,通常会​​相当快)。
  • 如果您使用的是 git,请将您的代码推送到 master 分支。如有必要,请标记它。
  • 如果您使用的是 SVN,请标记发布。
于 2008-09-19T19:36:43.043 回答
0

我找到了一篇非常好的文章,用于使用 ubuntu 部署 rails 应用程序

于 2009-10-12T14:46:29.533 回答