Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

We have 3 environments, and 2 Wheel Indices. It 3 Wheel Indices - dev, staging and release. Currently, we do not use the staging index.

Currently, we update the dev wheel index every time we do a commit on ukrdc-services code. Neither dev or staging are installed until the script is run.

Promotion is done to release via a script in bamboo.

After a conversation with Rapolas, it is proposed that we have a release branch which is the code for the staging and production environments.


DevelopmentStagingProductionLive
Code development is done on the Master branch by developers doing fixes on branches from Master and their subsequent code merged to master.Staging uses will use the release branch of ukrdc-webapi and the ukrdc-services pinned in the requirements.txt. Say, in this case 10.8.4At the start of the cycle, the deployed code of ukrdc-webapi on production LIVE has the ukrdc-services module pinned to 10.8.4.

Once a point is reached where code is to be released, a tag on the Master branch is made and the tag merged the point has come to release, the ukrdc/services/__init__.py version is bumped to a release candidate version - in this case 10.8.5.RC1.



Tag the Master branch and merge the tag to the release branch


When the code is merged from master into

relesae, the wheel file from ukrdc-services[release] is marked as

the release branch, the build process will build and upload the 10.8.5RC1

, which is built and deployed to the release index

to the devpi RELEASE index.



If bugs are found in the release candidate, these are fixed on the release branch, and the changes migrated back in master.

When the 10.8.5RC1 ukrdc-services wheel has been successfully tested, the wheel file is marked and deployed as the version number on the release branch will be changed to 10.8.5 on the dev-pi release index.The ukrdc-webapi , the requirements.txt entry for on ukrdc-services is webapi[release] updated to 10.8.5;

The production wheel file will be built as 10.8.5 and loaded up to the dev-pi release index.


The Live server is updated with the new code on from the release branch by running the standard script.