-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
45 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
How to release | ||
============== | ||
|
||
Figure out the version of the release | ||
------------------------------------- | ||
|
||
1. Go [here](https://github.com/uktrade/lite-api/compare). | ||
2. Choose the last release tag and master. | ||
3. This will give you a summary of all the changes that have been merged to master since the last release. | ||
|
||
Based on this changeset, we can determine the new version of the API using semantic versioning. t;dr - | ||
|
||
> Given a version number MAJOR.MINOR.PATCH, increment the: | ||
> MAJOR version when you make incompatible API changes, | ||
> MINOR version when you add functionality in a backwards compatible manner, and | ||
> PATCH version when you make backwards compatible bug fixes. | ||
At the end of this exercise, you should know the new version of the API. | ||
|
||
Tag the release | ||
--------------- | ||
|
||
1. Go [here](https://github.com/uktrade/lite-api/releases/new). | ||
2. Put the new version in `Tag Version`. | ||
3. `Release Title` should be something like `LITE API v<your-version>`. | ||
4. Description should include the list of PRs (optionally JIRA tickets) that are included in the release. It is also a good practice to break this list down into features and bugfixes. | ||
5. Hit `Publish Release`. | ||
|
||
Deploy to Demo | ||
-------------- | ||
|
||
1. Go [here](https://jenkins.ci.uktrade.digital/job/lite-api/). | ||
2. Hit `Build with Parameters`. | ||
3. Choose `master` for `GIT_TAG` and `demo` for environment. (We can also choose the releast tag instead of master but ATM, master is ok) | ||
4. Hit `Build`. | ||
5. When the build finishes, put the following message in the Teams channel - "Hey <friend-from-product>, LITE API v<your-version> is deployed on demo and ready for product review before release to prod." | ||
|
||
Deploy to Prod | ||
-------------- | ||
|
||
1. When product approves the release, go [here](https://jenkins.ci.uktrade.digital/job/lite-api-PROD/). | ||
2. Hit `Build with Parameters`, choose `master` for `GIT_TAG` and hit `Build`. | ||
3. When the build is finished, keep an eye on Sentry for a while to make sure nothing funny is happening. | ||
4. Under the previous message on Teams channel, type - "LITE API v<your-version> is now on prod". | ||
|