简单的问题是,我在家里的本地电脑上做所有的工作,然后我在github上执行git push到我的存储库,然后在我的Ubuntu服务器上我做一个git pull来获取内容,但这会导致不一致,因为它会拉入开发模式,而我总是不得不进入并更改。有没有办法让我可以在开发模式下工作,但把它推到repo生产模式?谢谢。
发布于 2013-03-13 13:05:51
这不是git的问题。Rails环境(“生产”、“开发”、“测试”)会影响代码的运行方式,但代码不会改变。
当您在开发计算机上运行rails server时,应用程序将以development模式启动,因为这是该命令的默认模式。
您可能不会使用相同的命令在服务器上的WEBrick上托管站点,而是使用诸如Phusion Passenger之类的命令,它可以(应该)配置为在生产模式下引导您的应用程序。
如果环境设置正确,则在加载应用程序时会正确选择config/environments/#[RAILS_ENV}.rb文件,并且会从config/database.yml中选择正确的数据库源。
发布于 2013-03-13 13:04:59
Rails应用程序默认为development,除非您将RAILS_ENV变量设置为production。Git并没有真正考虑到这一点。在生产机器上,您需要设置RAILS_ENV。
执行此操作的位置取决于您的生产部署环境以及服务器的配置方式。比如Passenger默认使用生产模式,而配置依赖于你的服务器(Apache,nginx)。如果您从命令行手动启动服务器(通过rails s thin或类似的命令行),则可以在shell的启动文件(.profile或类似文件,取决于您的shell)中对其进行配置。thin还可以选择使用类似于-e production的环境参数。
如果您提供有关您的生产环境如何工作的更多详细信息,您可能会得到关于在何处设置RAILS_ENV的更具体的答案。
https://stackoverflow.com/questions/15377355
复制相似问题