Github Actions - 发布 npm 包
发表于 2019-11-18
作者: 灼灼团队
本文字数: 1106
阅读时长 ≈ 3.7 分钟

Github 推出个人免费私有仓库后,我就逐渐把在其它平台的私有仓库迁移过来了,万分方便。

唯一的遗憾就是 CI/CD,之前使用 Gitlab CI 体验很好,以至于我对其它的 CI 工具都提不起兴趣,一直期待 Github 能推出类似的,所以 Github Actions 的推出我是无比兴奋的。

# 需求

Less API (opens new window) 的发布我一直是本地手动执行的,现在借机实践一下 Github Actions 的初步使用。

我希望代码仓库 release 新版本时,触发 npm publish 流程。

# release
git tag v1.0.0
git push origin v1.0.0
1
2
3

# 代码

name: release
on:
  push:
    tags:
      - v*
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: actions/setup-node@v1
        with:
          node-version: 12
      - run: npm install
      - run: npm run build
      - run: npm test
  publish-npm:
    needs: test
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1
      - uses: actions/setup-node@v1
        with:
          node-version: 12
          registry-url: 'https://registry.npmjs.org/'
      - run: npm i
      - run: npm publish
        env:
          NODE_AUTH_TOKEN: '${{secrets.npm_token}}'
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

# 小结

主要是两个部分:

on 是触发条件,指明在 pushv* 分支时触发,* 是通配符;

jobs 是要执行的任务,我们有 testpublish-npm 两个任务,在这里指定了后者是依赖前者执行的;

secrets.npm_token 是在 Github 仓库的 Settings > Secrets 处添加的,名为 npm_token

Github Actions 给出了很详细的文档,不做过多细节介绍,见参考链接。

# 参考链接

  • Github Actions Doc: https://help.github.com/en/actions/automating-your-workflow-with-github-actions
联系我们
联系电话:17681177133
联系邮箱:admin@zhuo-zhuo.com
公司地址:合肥市高新区习友路2666号 (习友路和石莲南路交叉口西北角)二期304室
官网
博客
皖ICP备20009670号-2
合肥灼灼信息技术有限公司 | Copyright © 2020-present zhuo-zhuo.com