GitHub Actions 是 GitHub 的持续集成服务, Github Action 入门教程
semantic-release 支持很多持续集成工具,为我们提供设置 changelog、版本号的功能。
这里我们将使用GithubAction 与 semantic-release 为我们的 github 搭建自动创建 changelong 的功能,GithubAcion 还能做更多的事情,这里先不介绍,可以自行查阅学习。
为 github 项目添加 GITHUB_TOKEN
记住你的GITHUB_SECRETS 名称,后面的脚本需要用到,比如我的是 ACCESS_TOKEN,如果在 Action 中需要发布 npm包,需要配置 NPM_TOKEN
在项目中添加 ./github/workflows/release.yml
name: Release
on:
push:
branches:
- master
jobs:
release:
name: Release
runs-on: ubuntu-18.04
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Setup Node
uses: actions/setup-node@v1
with:
node-version: 16
- name: Install
run: yarn
- name: Release
env:
GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }}
run: npx semantic-release
复制代码
我的项目使用的是 yarn,分支必须是 master,GITHUB_TOKEN写入你上一步添加的 TOKEN 名字,参数不懂可查阅文章开头链接
在项目中添加配置文件 .releaserc
{
"branch": "master",
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/changelog",
[
"@semantic-release/npm",
{
"npmPublish": false
}
],
[
"@semantic-release/git",
{
"assets": [
"package.json",
"CHANGELOG.md"
],
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
}
],
"@semantic-release/github"
]
}
复制代码
最后 push 一下代码,在 github 中的Actions 可以看到这个 workflows 的过程,最后再查看一下 master 分支中也成功添加了 CHANGELOG.md,并自动为我们打了一个 tags