Versions Compared

Key

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

We have 3 environments, and 2 Wheel Indices3 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.


DevelopmentStaging
Production
Live
Code development is done on the Master branch by
continuously branching and mergingStaging uses
developers doing fixes on branches from Master and their subsequent code merged to master.Staging will use the release branch of ukrdc-webapi and the ukrdc-services
in
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 is
LIVE has the ukrdc-services module pinned to
the
10.8.4
for ukrdc-serveces
.

Once

a point is reached where code is

the point has come to release,

a tag on

the ukrdc/services/__init__.py version is bumped to a release candidate version - in this case 10.8.5.RC1.



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


When the code is merged from master

, the wheel file from ukrdc-services is marked as

into the release branch, the build process will build and upload the 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

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 version number on the release branch will be changed to 10.8.5, the requirements.txt on ukrdc-webapi[release] updated to 10.8.5;

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


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