Search code examples
ruby-on-railsherokurakefileengineyard

Ruby on Rails integration with Heroku/Engine Yard/similar services


I have a Ruby on Rails project that I've deployed to a PaaS service via GitHub. The Git repo is structured like so:

/  (root)
  README
  some random files here
  src (directory)
    a_folder
    another_folder
    my_rails_app
      app (directory)
      config (directory)
      config.ru
      db (directory)
      ...
      Gemfile
      ...
      Rakefile
      README
      ...

As you can see, the Rails app is two directories underneath the root. I suppose I could move it to one file underneath root if necessary, but I definitely need to have other non-Rails files tracked under version control.

But since my Rails app isn't at the root, I'm having trouble using Engine Yard, Heroku, etc... they don't know where to find the Rakefile. I tried creating a Rakefile (https://gist.github.com/245400) and placing it at the root and src directories but it still doesn't work.

Do you know what's going on here or how to fix it?


Solution

  • (As requested ;-D)

    If you want to deploy on Heroku/Engine Yard, etc. you might just want to put all those "other folders" within the app directory (e.g. in a folder called supporting_documents or something).

    Then you can have those docs under source control AND deploy on Heroku. Also, with Heroku, you'll be able to add those additional documents to the slugignore file (http://devcenter.heroku.com/articles/slug-compiler) so they don't get compiled in the slug.