Semantic Release no Push-Version
O Semantic Release é uma ferramenta que automatiza o processo de versionamento e publicação de um projeto com base nas mudanças de código e nas mensagens de commit, seguindo o conceito de versionamento semântico (ou semantic versioning). Com ele, versões novas são geradas automaticamente, e o processo de publicação é desencadeado conforme o conteúdo dos commits, simplificando o fluxo de CI/CD.
Principais Funcionalidades
- Versionamento Automático: Analisa os commits para determinar o tipo de versão a ser liberada (major, minor, patch).
- Geração de Changelog: Cria um changelog atualizado com as mudanças de cada versão.
- Facilidade de Integração com CI/CD: Funciona bem com serviços como Bitbucket Pipelines, GitHub Actions.
Como Funciona?
O Semantic Release utiliza mensagens de commit padronizadas, como:
feat
: para novas funcionalidades, liberando uma versão minor.fix
: para correções de bugs, liberando uma versão patch.BREAKING CHANGE
: indica uma alteração que quebra compatibilidade, liberando uma versão major.
Essas convenções são seguidas pelo Conventional Commits, que torna o versionamento previsível e estruturado.
Requisitos
Como executar
Para utilizar o Semantic Release ao fazer Push-version, basta executar o comando com o argumento --release
. Exemplo:
Dessa forma a versão do Eitri-App será atualizada automaticamente conforme o Conventional Commits. Cada alteração no GIT terá uma tag versionada, essa versão da tag será utilizada para gerar a versão do Eitri-App. Dessa forma dispensa a necessidade de fazer alteração da versão manualmente.
Importante
Caso seu Eitri-App tenha uma versão acima de 1.x.x, será necessário gerar uma tag git para a última versão, pois poderá ter conflito entre as versões pré existentes do seu Eitri-App. Como criar a tag manualmente.