GitHub Actions 持续集成 - 1. 自动生成 Release 内容
本文地址:blog.lucien.ink/archives/490
0. 摘要
之前挖了一个坑,慢慢补上。
本文章旨在介绍如何借助 GitHub Actions 来生成 Release 的内容,以避免每次进行 Release 的时候都要写各种各样的变更日志。
1. 原理
通过 github.com/release-drafter/release-drafter,将 .github/release-drafter.yml 作为模版文件,借助 pull reqeust 时标注的 tag 来进行 Release 内容的生成。
效果见:github.com/LucienShui/HelloCI/releases
一些其它更高级的用法见 release-drafter 的项目主页。
2. 配置
2.1 GitHub Actions 文件
.github/workflows/release-drafter.yml
name: Release Drafter
on:
push:
branches:
- master # 在 master 分支发生更新时执行此 action
jobs:
draft_release:
name: Draft release
runs-on: ubuntu-latest
steps:
- uses: toolmantim/release-drafter@v5.2.0
name: Draft
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
2020 年 2 月 9 日更新
在我写这篇博客的时候此项目名为 toolmantim/release-drafter
,现在已更新为 release-drafter/release-drafter
,最新版本号见:这里
2.2. Release Drafter 配置文件
name-template: 'release-v$NEXT_PATCH_VERSION'
tag-template: 'release-v$NEXT_PATCH_VERSION'
categories:
- title: 'Features'
labels:
- 'feature'
- 'enhancement'
- title: 'Bug Fixes'
labels:
- 'fix'
- 'bugfix'
- 'bug'
- title: 'Maintenance'
labels:
- 'chore'
- 'documentation'
change-template: '- $TITLE (#$NUMBER) @$AUTHOR'
template: |
# Changes
$CHANGES
9 条评论
大神,我按你的测试了可以生成draft,但是没有任何日志信息,操作步骤如下:
git add .
git commit -m 'fix test'
git push
然后能看到action运行,但是运行后生成的draft是空的,没有commit提交的信息
能帮我看下吗?https://github.com/779102260/actionsTest
文章中有提到,需要借助 pull reqeust 时标注的 tag 来进行 Release 内容的生成。我看到你的项目里没有进行过 pull request 呢。
哦,懂了,还以为只要commit就能生成,一直没用过pull request,多谢大神!
请问一下怎么用pull request呀
commit 要怎麽加Label
才會被匹配到
只要 label 的名称和 yml 文件中 labels 下的名称一样就会被匹配到。
能指定文件打包吗?
可以的,请参考 https://blog.lucien.ink/archives/493/
好的 十分感谢