Commits to main
are automatically deployed to dev and staging environments.
Deployments to production are done manually through Jenkins where a Git tag can be used.
-
Post a message into the #data-hub-core-dev channel saying that you want to do a Data Hub frontend release and ask if there are any objections. If no objections, proceed with the following steps.
-
Create a GIT tag
git tag v<MAJOR>.<MINOR>.<PATCH>
, e.g.v5.1.2
pointing to the latestmain
.Release type When to increase Major (1.0.0) When a change requires modifications to the infrastructure, e.g. NodeJS version upgrade. Minor (0.1.0) When a release contains at least one new feature. Patch (0.0.1) When a release contains only fixes.
You can use the GitHub comparison tool to figure out what changes have been made since the last release. You can find out the latest release tag number from here.
-
Push the tag to the remote -
git push origin v<VERSION_NUMBER>
. -
Check that the tag worked by using the GitHub comparison tool again to compare main to the new tag. If done correctly, it should say "main and
v<VERSION_NUMBER>
are identical". -
Create a GH pre-release by clicking
Draft a new release
on the releases page.
The release title should be v<VERSION_NUMBER>
and release notes can be created by clicking the Auto-generate release notes
button.
Check that the release notes generated contain what you expect to be deployed to production.
-
Go to Jenkins and click on
Build with Parameters
. -
Select
production
for the environment. -
Type the
v<VERSION_NUMBER>
created in step2
into theGit_Commit
text field. -
Press the
Build
button. -
After the Jenkins build has finished, go to Data Hub production and check that everything is working correctly.
-
Change the GH pre-release to an actual release.
-
Post the following message on the #data-hub slack channel, making sure to put the actual version number and link the release notes:
@here Data Hub Frontend v<VERSION_NUMBER> is now live!
For more information see the release notes.