aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/CHANGES.md12
-rw-r--r--doc/DEPLOY.md41
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