在我的 macbook 上开发我的网站,然后在完成后移动到服务器是否有问题?是否会有我需要提前计划的问题?可能与 DB 或 ruby 相关?依赖关系或服务器可能与我的开发环境不同的东西可能会导致以后的噩梦?我宁愿离线开发它,因为它会更快并且不需要互联网连接,但过去我总是用实时站点完成所有事情,所以这将是第一次,而且我是 ruby on rails 的新手。
4 回答
在本地开发,然后通过类似 capistrano 的方式部署到您的服务器是标准做法。
让您的开发环境尽可能接近生产环境(ruby 版本、数据库版本等)是一个好主意。Bundler 使您的 gem 保持同步变得容易
我在一些项目中使用了 Heroku。部署尽可能简单。我刚刚做了一个git push
,它没有问题......我真的很喜欢捆绑器和耙子:-)
您的问题体现了在 Rails 中开发的方式。您的开发环境是您的生产站点的离线表示。
一个快速的工作流分析可能是:
rails new ~/my_app -d postgresql; cd ~/my_app; rm public/index.html
接下来,创建数据库:
bundle exec rake db:create:all
现在您将设置好数据库和应用程序,让我们设置您的主页:
bundle exec rails generate controller Site index about_us contact_us
现在你可以在网站上看到一些东西,所以运行:
bundle exec rails server
该服务器充当您的离线连接,并将处理您希望在 Rails 应用程序中提供的任何文本、图像、html 等的呈现。现在您可以加入 TDD、TATFT 或 JITT、rspec 与 test::unit 的辩论。欢迎。
本地开发绝对是一条路。但是,我会考虑尽快将其投入生产并经常推动。通过这种方式,您可以在进行更改时看到更改发生,并了解任何可能的重大更改。
我经常使用heroku,当我开始一个新项目时,我几乎立即将它推送到heroku。在开发过程中,我可以简单地通过git push heroku master
. 每个人都必须找到自己的工作流程,但这对我来说一直很有效。
如果您对 Heroku 感兴趣,这里有一个很好的链接可以帮助您入门: