diff --git a/README.rst b/README.rst index 7e6cbcad4a0a737bb155d1b0e9e9bc0585ef5c61..2404e22b53b7a6085102bfbd69bd294fc0b4eb1f 100644 --- a/README.rst +++ b/README.rst @@ -144,3 +144,31 @@ After conference Sections have been created, this command will add Permission objects for those sections. ``./manage.py create_review_permissions`` + +CI/CD Workflow +~~~~~~~~~~~~~~ + +4 stages: + +1. Dev Review apps +2. dev.lca2019.org +3. staging.lca2019.org +4. linux.conf.au/lca2019.org (not yet live) + + +- Driven by `.gitlab-ci.yml` + +Stages 1 and 2 use sqlite databases; fixtures in the repo are loaded when the container starts but there is no persistent storage - *except* that stage 2 has some persistence of admin accounts. Stages 3 and 4 have (seperate) mysql backends which persist between deploys. + +Stages 2-4 use SSO for login; stage 1 has admin accounts defined in fixtures. + +All commits to any dev/* branch create a dev review app; for instance, a commit on dev/tchaypo/reviewapps becomes available at http://dev-tchaypo-reviewapps.dev.lca2019.org (for now you'll need to add `35.189.5.101 dev-tchaypo-reviewapps.dev.lac2019.org` to /etc/hosts for this to work.) + + Once a commit is accepted into `/dev/2019` it will also be auto-deployed to `https://dev.lca2019.org`. + + Once it's been tested there and is ready for further testing it can be manually deployed to staging, which gives the first chance to test database migrations and to double-check the MySQL backend. + + The CI/CD processes can be monitored through Gitlab's CI/CD page https://gitlab.com/laconfdev/symposion_app/pipelines + + Manual deployments (eg, to staging and production) can be initiated from a pipeline's page - eg https://gitlab.com/laconfdev/symposion_app/pipelines/24003091 - after prior stages pass. +