By default, there are only 4 plugins that comes together with semantic release. These steps are executed by plugins, and plugins are other npm modules that can implement one or more of the above steps. Internally, when semantic release is executed, there are 9 steps to be executed one after another, as follows: Similarly, if you have a feat: xxx message, the next release version will be 2.2.0. So if the current version is 2.1.0, the release will be 2.1.1. Commit Headerįrom the above table, if you have a fix: xxx or fix(scope): xxx in your commit message, when semantic release runs, it will create a patch version. The most common way of determining the version number is with the fix and feat commit header type. By default, semantic release follows the Angular Commit Message Convention. So, in order to use semantic release correctly, developers need to follow certain conventional commit message formats when committing. How then does it know if a new version is required? It is determined by the commit messages when we commit our code. When there are any code changes (push, merge, etc) to our code repository, semantic release runs to determine if a new version is needed, and if so, it will create a git tag for it, and publish a release version in our git. Why? Because it is not exactly part of our code (except for the configurations) but Semantic Release is used and installed in our Continuous Integration (CI) environment (e.g. Semantic Release is developed in NodeJS, but it can be used on any code base, e.g. 1.0.0-alpha, 1.0.0-beta before 1.0.0 How Semantic Release works? Semantic Release follows the standard Semantic Versioning format of v >= 1 → 1st public stable release How do we determine the next version number? Should it be a major version (v1 to v2) or a minor version (v1.1 to v1.2)? Semantic Release is a software used by software developers to manage the versioning of our code for us automatically. When it comes to releasing software projects to production, versioning can be a topic that is easily overlooked as something that is too trivial and done manually.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |