We have 3 environments, and 2 Wheel Indices. It is proposed that we have a release branch which is the code for the staging and production environments.
Development | Staging | Production |
---|
Code development is done on the Master branch by |
continuously branching and mergingdevelopers doing fixes on branches from Master and their subsequent code merged to master. | Staging uses the release branch of ukrdc-webapi and the ukrdc-services in pinned in the requirements.txt. Say, in this case 10.8.4 | At the start of the cycle, the deployed code of ukrdc-webapi on production is pinned to the 10.8.4 for ukrdc- |
servecesservices. |
Once a point is reached where code is to |
releasebe released, a tag on the Master branch is |
made and the tag merged to the release branch |
|
|
| When the code is merged from master, the wheel file from ukrdc-services is marked as 10.8.5RC1. this is built and deployed to the release index. |
|
| When any testing has subsequently been done, then the wheel file is marked and deployed as 10.8.5 on the dev-pi index. |
|
|
| The production server is updated with the new code on the release branch. |