Semantic Release with Push-Version
Semantic Release is a tool that automates the versioning and publishing process of a project based on code changes and commit messages, following the concept of semantic versioning. With it, new versions are automatically generated, and the release process is triggered according to the content of the commits, simplifying the CI/CD flow.
Key Features
- Automatic Versioning: Analyzes commits to determine the type of version to be released (major, minor, patch).
- Changelog Generation: Creates an updated changelog with the changes of each version.
- Seamless Integration with CI/CD: Works well with services like Bitbucket Pipelines, GitHub Actions.
How It Works
Semantic Release uses standardized commit messages, such as:
feat
: for new features, releasing a minor version.fix
: for bug fixes, releasing a patch version.BREAKING CHANGE
: indicates a backward-incompatible change, releasing a major version.
These conventions follow Conventional Commits, making versioning predictable and structured.
Requirements
How to Execute
To use Semantic Release when doing a Push-version, simply run the command with the --release
argument. Example:
In this way, the Eitri-App version will be updated automatically following Conventional Commits. Each change in GIT will have a tagged version, and this tag version will be used to generate the Eitri-App version. This removes the need for manual version changes.
Important
If your Eitri-App has a version above 1.x.x, it will be necessary to create a git tag for the latest version, as there may be conflicts with existing versions of your Eitri-App. How to create a tag manually