Changeset - ab1c129c2098
[Not reviewed]
0 1 0
James Polley - 6 years ago 2018-06-17 09:37:07
jp@jamezpolley.com
Rough notes on CI/CD
1 file changed with 28 insertions and 0 deletions:
0 comments (0 inline, 0 general)
README.rst
Show inline comments
...
 
@@ -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.
 

	
0 comments (0 inline, 0 general)