reidab/citizenry — Issue #45: Make it easy to run Citizenry on Heroku
Author: igal
Created: 2011-10-29 18:21:35+00:00
State: open
Labels: feature

Hosting Rails applications can be a real pain for people and hinders adoption. Heroku offers free/cheap hosting, but offers a very odd and limited environment, and we have to port to it so they can run the app. I've already done much of the work needed, but some more is needed:

* `Gemfile`: Lock down versions, add logic to dynamically load appropriate database driver, and stop putting the `Gemfile.lock` into the public version control. Update instructions to reflect these changes. See https://github.com/calagator/calagator/blob/master/Gemfile for an example of a dynamic `Gemfile` that loads the database driver.
* PostgreSQL: Ensure all queries run on Sqlite3, MySQL and also PostgreSQL, which is what Heroku uses. In theory, this should work because there are some folks already using this on PostgreSQL, although it's unclear if they've submitted all their patches.
* Ruby 1.9.2: Ensure that all code runs on Ruby 1.8.7 and also 1.9.2, which is what Heroku uses. I think I've fixed all the compatibility problems.
* Coverage: We need to boost code coverage so that we have a higher level of certainty that the port really works. I've added "simplecov" to perform Ruby 1.9.2 code coverage, and been slowly adding tests.
* Instructions: We need to provide instructions on how to deploy to Heroku. We can borrow my similar work from. https://github.com/calagator/calagator/blob/with_heroku/HEROKU.md