🇧🇷 Português 
🇪🇸 Español 
🇬🇧 Inglés 
Este repositório contém um aplicativo de exemplo desenvolvido em Kotlin, projetado para ensinar como automatizar o processo de criação de versões (releases) utilizando a ferramenta Release Please integrada ao GitHub Actions.
O objetivo principal é demonstrar como configurar e gerenciar um fluxo de versionamento contínuo e eficiente para projetos Kotlin, seguindo as melhores práticas de automação e semântica de versionamento (Semantic Versioning).
- Aplicação desenvolvida com Kotlin e estrutura modular.
- Configuração do Release Please para geração automática de changelogs e versões baseadas nos commits.
- Integração com GitHub Actions para automação do fluxo de releases.
- Uso de Semantic Versioning para garantir releases consistentes.
- Exemplo prático de configuração do arquivo
.release-please-config.json
.
- Conta no GitHub.
- Conhecimento básico de Kotlin e GitHub Actions.
- Node.js instalado para configurar o Release Please CLI (opcional).
- Commits estruturados: Os commits seguem o formato do Conventional Commits (e.g.,
feat: nova funcionalidade
,fix: correção de bug
). - Pull Request automática: O Release Please cria automaticamente um PR contendo a próxima versão e o changelog correspondente.
- Merge do PR: Após o merge, o GitHub Actions gera a tag e publica a release no repositório.
- Kotlin: Linguagem principal do projeto.
- Release Please: Ferramenta de automação de releases.
- GitHub Actions: Orquestrador para CI/CD.
- Conventional Commits: Padrão para mensagens de commits.
-
Clone o repositório:
git clone https://github.com/IsraelDeveloperMaster/RealeseProject.git
-
Configure o Release Please: Adicione o arquivo
.release-please-config.json
na raiz do projeto:{ "branches": ["main"], "release-type": "java", "package-name": "nome-do-pacote" }
-
Ative o GitHub Actions: Certifique-se de que as ações estão habilitadas no repositório.
- Ajuste o workflow do Release Please:
Edite ou crie o arquivo
.github/workflows/release-please.yml
:name: Release Please on: push: branches: - master jobs: release: runs-on: ubuntu-latest steps: - uses: googleapis/release-please-action@v4 id: release with: release-type: simple - name: Checkout 🛬 if: ${{ steps.release.outputs.release_created }} uses: actions/checkout@v4 - name: Tag major and minor versions 🏷 if: ${{ steps.release.outputs.release_created }} run: | git config user.name github-actions[bot] git config user.email 41898282+github-actions[bot]@users.noreply.github.com git remote add gh-token "https://${{ secrets.PASSWORD_GITHUB }}@github.com/googleapis/release-please-action.git" git tag -d v${{ steps.release.outputs.major }} || true git tag -d v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} || true git push origin :v${{ steps.release.outputs.major }} || true git push origin :v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} || true git tag -a v${{ steps.release.outputs.major }} -m "Release v${{ steps.release.outputs.major }}" git tag -a v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} -m "Release v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}" git push origin v${{ steps.release.outputs.major }} git push origin v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}
- Ajuste o workflow do Release Please:
Edite ou crie o arquivo
Sinta-se à vontade para abrir issues ou enviar pull requests com melhorias, sugestões ou correções.
Este projeto está licenciado sob a MIT License.
Este repositorio contiene una aplicación de ejemplo desarrollada en Kotlin, diseñada para enseñar cómo automatizar el proceso de creación de versiones (releases) utilizando la herramienta Release Please integrada con GitHub Actions.
El objetivo principal es demostrar cómo configurar y gestionar un flujo de versionado continuo y eficiente para proyectos en Kotlin, siguiendo las mejores prácticas de automatización y versionado semántico (Semantic Versioning).
- Aplicación desarrollada en Kotlin con estructura modular.
- Configuración de Release Please para la generación automática de changelogs y versiones basadas en los commits.
- Integración con GitHub Actions para automatizar el flujo de lanzamientos.
- Uso de Semantic Versioning para garantizar versiones consistentes.
- Ejemplo práctico de configuración del archivo
.release-please-config.json
.
- Cuenta en GitHub.
- Conocimientos básicos de Kotlin y GitHub Actions.
- Node.js instalado para configurar el Release Please CLI (opcional).
- Commits estructurados: Los commits siguen el formato de Conventional Commits (por ejemplo,
feat: nueva funcionalidad
,fix: corrección de bug
). - Pull Request automática: Release Please crea automáticamente un PR que contiene la próxima versión y el changelog correspondiente.
- Merge del PR: Tras el merge, GitHub Actions genera la etiqueta (tag) y publica la release en el repositorio.
- Kotlin: Lenguaje principal del proyecto.
- Release Please: Herramienta para automatización de lanzamientos.
- GitHub Actions: Orquestador para CI/CD.
- Conventional Commits: Estándar para mensajes de commits.
-
Clona el repositorio:
git clone https://github.com/IsraelDeveloperMaster/RealeseProject.git
-
Configura Release Please: Añade el archivo
.release-please-config.json
en la raíz del proyecto:{ "branches": ["main"], "release-type": "java", "package-name": "nombre-del-paquete" }
-
Activa GitHub Actions: Asegúrate de que las acciones están habilitadas en el repositorio.
-
Ajusta el workflow de Release Please: Edita o crea el archivo
.github/workflows/release-please.yml
:name: Release Please on: push: branches: - master jobs: release: runs-on: ubuntu-latest steps: - uses: googleapis/release-please-action@v4 id: release with: release-type: simple - name: Checkout 🛬 if: ${{ steps.release.outputs.release_created }} uses: actions/checkout@v4 - name: Tag major and minor versions 🏷 if: ${{ steps.release.outputs.release_created }} run: | git config user.name github-actions[bot] git config user.email 41898282+github-actions[bot]@users.noreply.github.com git remote add gh-token "https://${{ secrets.PASSWORD_GITHUB }}@github.com/googleapis/release-please-action.git" git tag -d v${{ steps.release.outputs.major }} || true git tag -d v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} || true git push origin :v${{ steps.release.outputs.major }} || true git push origin :v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} || true git tag -a v${{ steps.release.outputs.major }} -m "Release v${{ steps.release.outputs.major }}" git tag -a v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }} -m "Release v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}" git push origin v${{ steps.release.outputs.major }} git push origin v${{ steps.release.outputs.major }}.${{ steps.release.outputs.minor }}
No dudes en abrir issues o enviar pull requests con mejoras, sugerencias o correcciones.
Este proyecto está licenciado bajo la Licencia MIT.