简单的问题,我在本地家用计算机上完成所有工作,然后在{github上{i} git push
到我的仓库,然后在我的Ubuntu服务器上执行git pull
获取内容,但这会导致不一致,因为它会进入开发模式,我总是需要进入并进行更改。有没有办法让它可以在开发模式下工作但是将其推送到repo生产模式?谢谢。
答案 0 :(得分:0)
development
变量设置为RAILS_ENV
,否则 Rails应用默认为production
。 Git并没有真正考虑到这一点。在您的生产计算机上,您需要设置RAILS_ENV
。
执行此操作取决于您的生产部署环境以及服务器的配置方式。 Passenger默认为生产模式,配置取决于您的服务器(Apache,nginx)。如果您是从命令行手动启动服务器(通过rails s thin
或其他内容),那么您可以在shell的启动文件(.profile
或类似的东西中配置它,具体取决于您的shell )。 thin还可以选择使用-e production
等环境参数。
如果您提供有关生产环境如何运作的更多详细信息,您可能会获得有关设置RAILS_ENV
的位置的更具体的答案。
答案 1 :(得分:0)
这不是一个git问题。 Rails环境(“生产”,“开发”,“测试”)会影响代码的运行方式,但代码不会更改。
当您在开发计算机上运行rails server
时,应用程序将以development
模式启动,因为这是该命令的默认设置。
您可能没有使用相同的命令在服务器上的WEBrick上托管您的站点,而是使用Phusion Passenger之类的东西,可以(应该)配置为在生产模式下启动您的应用程序。
如果环境设置正确,则在加载应用程序时正确选择config/environments/#[RAILS_ENV}.rb
文件,并从config/database.yml
中选择正确的数据库源。