2

一个简单的问题,我在家里的本地计算机上完成所有工作,然后git push到 github 上的 repo,然后在我的 Ubuntu Servergit pull上获取内容,但这会导致不一致,因为它会进入我一直使用的开发模式必须进去改变。有没有办法让我可以在开发模式下工作但将它推到回购生产模式?谢谢。

4

2 回答 2

0

Rails 应用程序默认为,development除非您将RAILS_ENV变量设置为production. Git并没有真正考虑到这一点。在您的生产机器上,您需要设置RAILS_ENV.

在哪里执行此操作取决于您的生产部署环境以及服务器的配置方式。乘客默认为生产模式,配置取决于您的服务器(Apache、nginx)。如果您从命令行手动启动服务器(通过rails s thin或类似的方式),那么您可以在 shell 的启动文件中配置它(.profile或类似的东西,取决于您的 shell)。thin 还可以选择使用环境参数,例如-e production.

如果您提供有关生产环境如何工作的更多详细信息,您可能会得到关于 where to set 的更具体的答案RAILS_ENV

于 2013-03-13T05:04:58.517 回答
0

这不是 git 问题。Rails 环境(“生产”、“开发”、“测试”)会影响代码的运行方式,但不会更改代码。

当您rails server在开发机器上运行时,应用程序以development模式启动,因为这是该命令的默认设置。

您可能没有使用相同的命令在服务器上的 WEBrick 上托管您的网站,而是使用诸如 Phusion Passenger 之类的东西,它可以(应该)配置为在生产模式下启动您的应用程序。

如果环境设置正确,则config/environments/#[RAILS_ENV}.rb在加载应用程序时会正确选择文件,并从config/database.yml.

于 2013-03-13T05:05:51.360 回答