To check out this repository please hg clone the following URL, or open the URL using EasyMercurial or your preferred Mercurial client.

Statistics Download as Zip
| Branch: | Tag: | Revision:

root / deploy / README @ 1604:2162f6ff8580

History | View | Annotate | Download (1.71 KB)

1 1595:98384d0defa0 Chris
2
Deploying the SoundSoftware site
3 1601:07deb8466f65 Chris
================================
4 1595:98384d0defa0 Chris
5 1601:07deb8466f65 Chris
These scripts can be used for test or staging deployments reproducing
6
much of the configuration of the live site. Currently it's assumed
7
that you are providing a database dump to load -- there is no
8
provisioning step to initialise a new database.
9
10
11
You will need
12
-------------
13
14
Required:
15
16
 * A database dump to load. This should be left in a file called
17
   postgres-dumpall in the soundsoftware-site root
18
19
 * The database password and /sys API key for the target site. (The
20
   API key can be changed in the admin UI - "grep API config/*.in" to
21
   see the files you'll need to update if you change it)
22
23
 * The (copyrighted) web font files used in our deployment. Leave
24
   these in /public/themes/soundsoftware/stylesheets/fonts/
25
26
Optional (or required for proper deployments):
27
28
 * HTTPS key/cert files
29
30
31
Three ways to deploy
32
--------------------
33
34
 1. Using Vagrant to set up a development VM: Run ./vagrant/start.sh
35
36
 2. Using Docker to set up a development container: Run ./docker/start.sh
37
38
 3. On a "real" VM or server:
39
40
    * Ensure the soundsoftware-site repo is checked out at /code-to-deploy
41
    * Run /code-to-deploy/deploy/any/run-provisioning.sh as root
42
43
    But be very careful with this! You could screw up a dev box -- or
44
    an existing live server! -- if you accidentally provision the site
45
    directly onto it when you should have used Vagrant or a container.
46 1597:eeacb8332051 Chris
47
48
After deployment
49
----------------
50
51
There is a smoke test script at test/smoketest.sh which checks that
52
the home page, a project page, a repo page etc can be retrieved. Some
53
of the pages it tries to retrieve are dependent on their generating
54
cron scripts having run at least once since the server was set up.