In Haystack one of the ways to configure deployment frequency is the git tag option.
We recommend teams to use git tags because it allows CI tools, deployment automation tools, and manual entering, granting different teams with different processes a standardized method.
In this blog post, we will be covering how to tag commits after a release for the following deployment tools:
CircleCI
For CircleCI there are pre-defined orbs that could be used to tag commits after the deployment pipeline
Jenkins
Jenkins already has a feature that allows users to push git tags back which can be enabled from the 'post-build’ actions
GitHub Actions
GitHub marketplace has various actions to tag commits on workflow. Here are some example actions that you can use to tag your commits.
Helm Charts
For Helm Charts there is a simple GitHub action that is designed to help you automatically create tags from your Helm Chart.
GitHub Deployments
For GitHub deployments, there is no specific resource to tag back the commits but you can still combine the below GitHub action with the ones that we described above for GitHub Actions to tag back the commits.
GitLab Deployments
You can create a release directly as part of the GitLab CI/CD pipeline by using the [release
keyword] in the job definition.
The release is created only if the job processes without error. If the API returns an error during release creation, the release job fails.
Methods for creating a release using a CI/CD job include:
Create a release when a Git tag is created.
Create a release when a commit is merged to the default branch.
You can find more info here about the GitLab deployments.
Bamboo
From Bamboo version 6.7 onwards, it has the Git repository tagging feature Repository Tag.
You can add a repository tagging task to the job and the Bamboo variable as a tag name. You must have Bamboo-Bitbucket integrated via the application link.
Fastlane
Fastlane has a feature that allows users to add annotated git tags to the current branch
AWS CodeDeploy
AWS CodeDeploy does not have a direct way of tagging commits but you can achieve it by combining different AWS services in AWS CodePipeline.
Custom Version Numbers
To create release tags from version update on package.json or any other config file you can combine the above GitHub actions with the below action. So when the version changes on your config file the below action will have different flows and for the steps.check.outputs.changed == 'true'
event, you can trigger any of the above GitHub actions to tag the commit of version change.