冒險村05 - Release Drafter

05 - Release Drafter

每當專案 merge & deploy 完畢時,都會產生對應的 releases log 紀錄 tag、修改的內容與打包的程式碼,就像 Create PR with default template 裡撰寫 Pull requests template 時相同,會有個 default 的 template 來幫我們產生文字敘述內容及產生日期的 tag。

除了能統一團隊對專案 releases log 撰寫模式外,也能省下撰寫的時間,

.github folder(與 app 資料夾同層)下再建立 workflows folder,並在該資料夾下建立 draft.yml file 撰寫內容。

Setting workflows > draft.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
name: Draft Release

on:
push:
branches:
- main

jobs:
update_release_draft:
runs-on: ubuntu-latest
steps:
- uses: release-drafter/release-drafter@v5
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

這邊在建立當哪個 branch 有新的 commit 時,會觸發 github job 來產生 release-drafter action(以前的 repo branch 可能是 master,新的則為 main)

接下來在 .github folder 建立 release-drafter 的 template

Setting release-drafter.yml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
name-template: '$NEXT_MINOR_VERSION'
tag-template: 'v$NEXT_MINOR_VERSION'
categories:
- title: '🚀 Features'
labels:
- 'feature'
- 'enhancement'
- title: '🐛 Bug Fixes'
labels:
- 'fix'
- 'bugfix'
- 'bug'
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
template: |
## Changes
$CHANGES

註: 以上 template 僅供參考,可以依照團隊決定最適合的方式來制訂 releases log 想要呈現的方式。

參考來源