Conventional Changelog Action 使用教程
项目介绍
Conventional Changelog Action 是一个用于自动化版本管理、Git 标签生成和变更日志生成的 GitHub Action。它基于 Conventional Commits 规范,能够自动根据提交信息生成版本号、创建 Git 标签,并生成详细的变更日志。这个 Action 非常适合用于持续集成和持续交付(CI/CD)流程中,帮助开发者自动化版本管理和发布流程。
项目快速启动
1. 安装依赖
首先,确保你的项目已经初始化并配置了 GitHub Actions。如果还没有配置,可以在项目根目录下创建一个 .github/workflows
目录,并在其中创建一个 .yml
文件,例如 ci.yml
。
2. 配置 GitHub Action
在 ci.yml
文件中添加以下内容,配置 Conventional Changelog Action:
name: Conventional Changelog Action
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Conventional Changelog Action
uses: TriPSs/conventional-changelog-action@v5
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
git-message: 'chore(release): [version]'
git-user-name: 'Awesome Changelog Action'
git-user-email: 'awesome_changelog@github.actions.com'
preset: 'angular'
tag-prefix: 'v'
output-file: 'MY_CUSTOM_CHANGELOG.md'
release-count: '10'
version-file: '/package.json'
version-path: 'version'
skip-on-empty: 'false'
skip-version-file: 'false'
skip-commit: 'false'
git-branch: 'main'
3. 提交并推送
将配置文件提交并推送到 GitHub 仓库:
git add .github/workflows/ci.yml
git commit -m "Add Conventional Changelog Action"
git push origin main
4. 查看结果
推送代码后,GitHub Actions 会自动运行,生成新的版本号、Git 标签和变更日志文件。你可以在 GitHub 仓库的 Actions 页面查看运行结果。
应用案例和最佳实践
1. 自动化版本发布
在 CI/CD 流程中,使用 Conventional Changelog Action 可以自动化版本发布流程。每次提交代码时,Action 会根据提交信息自动生成新的版本号,并创建相应的 Git 标签和变更日志。
2. 生成详细的变更日志
通过配置 output-file
参数,可以将生成的变更日志保存到指定的文件中。这对于记录每次发布的变更内容非常有用,方便后续的版本管理和维护。
3. 自定义提交信息
通过配置 git-message
参数,可以自定义提交信息的内容。例如,可以将版本号自动插入到提交信息中,方便后续的版本追踪。
典型生态项目
1. GitHub Actions
Conventional Changelog Action 是 GitHub Actions 生态系统中的一个重要组件。它与其他 GitHub Actions 配合使用,可以实现完整的 CI/CD 流程自动化。
2. Conventional Commits
Conventional Changelog Action 基于 Conventional Commits 规范,确保提交信息的格式一致性和可读性。通过遵循这一规范,可以提高团队协作效率,减少版本管理中的错误。
3. CI/CD 工具链
在现代软件开发中,CI/CD 工具链是不可或缺的一部分。Conventional Changelog Action 作为 CI/CD 流程中的一个环节,能够帮助开发者自动化版本管理和发布流程,提高开发效率。
通过以上步骤和案例,你可以快速上手并应用 Conventional Changelog Action,实现自动化版本管理和发布流程。