diff options
Diffstat (limited to 'doc')
-rw-r--r-- | doc/CHANGES.md | 12 | ||||
-rw-r--r-- | doc/DEPLOY.md | 41 |
2 files changed, 53 insertions, 0 deletions
diff --git a/doc/CHANGES.md b/doc/CHANGES.md index ae9418ef4..15df1dce5 100644 --- a/doc/CHANGES.md +++ b/doc/CHANGES.md @@ -1,3 +1,15 @@ +# Version 0.6.6 +## Highlighted features +* Adds deployment via Capistrano - see DEPLOY.md for details +* Speeds up several admin pages that were slow in large installs + +* [List of issues on github](https://github.com/mysociety/alaveteli/issues?milestone=22&state=closed) + +## Upgrade notes + +* Check out this version and run `rails-post-deploy` as usual. +* Run `rake temp:populate_request_classifications` to populate the new request_classifications table which is used in generating the request categorisation game league tables and progress widget. + # Version 0.6.5 * This is a minor release, to update all documentation and example files to reflect the move of the official repository to http://github.com/mysociety/alaveteli and the alavetelitheme and adminbootstraptheme themes to http://github.com/mysociety/alavetelitheme and http://github.com/mysociety/adminbootstraptheme respectively. * Some basic versioning has been added for themes. An ALAVETELI_VERSION constant has been added in config/environment.rb. When loading themes, `rails-post-deploy` now looks for a tag on the theme repository in the form 'use-with-alaveteli-0.6.5' that matches the ALAVETELI_VERSION being deployed - if it finds such a tag, the theme will be checked out from that tag, rather than from the HEAD of the theme repository. If no such tag is found, HEAD is used, as before [issue #573](https://github.com/mysociety/alaveteli/issues/573). diff --git a/doc/DEPLOY.md b/doc/DEPLOY.md new file mode 100644 index 000000000..adeb0e113 --- /dev/null +++ b/doc/DEPLOY.md @@ -0,0 +1,41 @@ +# Deployment + +mySociety uses a custom deployment and buildout system however Capistrano is included as part of Alaveteli as a standard deployment system. + +## Capistrano + +### Set up + +First you need to customise your deployment settings, e.g. the name of the server you're deploying to. This is done by copying the example file `config/deploy.yml.example` to `config/deploy.yml` and editing the settings to suit you. + +TODO: The following instructions could be greatly improved + +These are the general steps required to get your staging server up and running: + +* Install packages from `config/packages` +* Install Postgres and configure a user +* Create a directory to deploy to and make sure your deployment user can write to it +* Run `cap deploy:setup` to create directories, etc. +* Run `cap deploy:update_code` so that we've got a copy of the example config on the server. This process will take a long time installing gems, etc. it will also fail on `rake:themes:install` but that's OK +* SSH to the server, change to the `deploy_to` directory +* `cp releases/[SOME_DATE]/config/general.yml-example shared/general.yml` +* `cp releases/[SOME_DATE]/config/general.yml-example shared/general.yml` +* Edit those files to match your required settings +* Back on your machine run `cap deploy` and it should successfully deploy +* Run the DB migrations `cap deploy:migrate` +* Build the Xapian DB `cap xapian:rebuild_index` +* Configure Apache/Passenger with a DocumentRoot of `your_deploy_to/current/public` +* Phew. Time to admire your work by browsing to the server! + +### Usage + +Ensure you've got a `config/deploy.yml` file with the correct settings for your site. You'll need to share this with everyone in your team that deploys so it might be a good idea to keep the latest version in a [Gist](http://gist.github.com/). + +To deploy to staging just run `cap deploy` but if you want to deploy to production you need to run `cap -S stage=production deploy`. + +For additional usage instructions, see the [Capistrano wiki](https://github.com/capistrano/capistrano/wiki/). + +### TODO + +* Get `cap deploy:setup` to do most of the work described above in the *Set up* section +* Use [Whenever](https://github.com/javan/whenever) to set up cronjobs |