Release Service
This is the latest release process to be followed from 17th November, 2022
Last updated
This is the latest release process to be followed from 17th November, 2022
Last updated
SNAPSHOT
version. Once the service is fully tested and is ready to be released for distribution. To release the service with concrete version follow the steps given below.
Once the release service step will complete, dream11bot will make a commit to the service repo's main/master branch, for this you need to allow write access to dream11bot
Go to the settings of your repo
Click on Branches
Click edit on protected branch
Select Allow force pushes checkbox and add dream11bot in specified persons list
Once the PR gets merged, your application's PR job gets triggered. the PR job removes the -SNAPSHOT
from the version and builds the artifact using build.sh script and publishes the artifact with concrete version 1.0.0
to Jfrog.
As soon as you create a PR with your service definition changes against the main
branch, a SNAPSHOT version of your service is released. This SNAPSHOT version, like any other service version, is now deployable using odin
.
This SNAPSHOT version is mutable, which means that any changes you make to the service definitions will override the previously released SNAPSHOT version (with the same prefix) of the service.
At this stage, the component artifact versions can be mutable (i.e. have SNAPSHOT versions).
For example-
Once your development is complete and you have concrete versions for all your artifacts, you will need to update your service definition to use the concrete versions for your component artifacts.
Now to release a concrete version of your service, you need to merge the PR after getting it approved from the code owners.
As soon as the PR is merged, a new concrete version of the foo-service
is released and the service version in the service definition is updated to the next SNAPSHOT version.
Creates deployment artifacts (AWS AMIs incase of EC2 based deployments, and docker images in case of container based deployments).
Makes it available for users to deploy using odin
.
There are certain guidelines that we need to follow while creating or updating the service definition of our services. Various Validations are in place to enforce these guidelines.
Service directory name must match the service name in the definition.json
Service name should start with a lowercase alphabet and should only contain lowercase alphabet, digit and hyphen.
Service version needs to be suffixed with SNAPSHOT. Concrete versions will only be released using automations.
PRs will only be merged once all artifact versions are concrete versions.
Save the changes and you are good to go
Once the are done and the application component is deployed with snapshot version, say 1.0.0-SNAPSHOT
within a service, you need to add the label publish
or release
to the PR and merge it with the snapshot changes into your release branch, say master
branch.
The PR job then updates the version by incrementing the patch version i.e from 1.0.0-SNAPSHOT
to 1.0.1-SNAPSHOT
in your and commits the changes on the release branch i.e master
branch with the message chore: release APPLICATION_NAME@1.0.0
.
In order to release a service, you need to add your service definition and the provisioning files(if any) to the repository. you can refer the .
Service owning team handle should be in for your service.