以下是一个发布npm包的例子:

  1. name: Node.js Package
  2. on:
  3. push:
  4. branches:
  5. - main
  6. jobs:
  7. publish-npm:
  8. runs-on: ubuntu-latest
  9. steps:
  10. - uses: actions/checkout@v2
  11. - uses: actions/setup-node@v2
  12. with:
  13. node-version: 14
  14. registry-url: https://registry.npmjs.org/
  15. - run: npm install
  16. - run: npm run lint
  17. - run: npm run test
  18. - run: npm publish
  19. env:
  20. NODE_AUTH_TOKEN: ${{secrets.npm_token}}

下面解释各部分的含义:

语法 含义
name 表示此工作流的名称。
on 必填。 指定自动触发工作流程文件的事件。 此示例使用 push 事件,这样每次有人推送更改到仓库时,作业都会运行。 您可以设置工作流程仅在特定分支、路径或标记上运行,如上图的main分支。https://docs.github.com/cn/actions/learn-github-actions/events-that-trigger-workflows
jobs 工作集合,例如 jobs内部的 publish-npm 表示具体的工作任务的ID可以自定义只要不冲突即可。
runs-on 表示工作所在的虚拟机操作系统,目前可选的系统有ubuntu-latest、ubuntu-18.04、ubuntu-16.04、windows-latest、windows-2019、windows-2016、macOS-latest、macOS-10.14。
steps 此部分下嵌套的每项都是一个单独的操作或 shell 命令。
- uses: actions/checkout@v2 uses 关键字指示作业检索名为actions/checkout@v2 的社区操作的 v2。 这是检出仓库并将其下载到运行器的操作,允许针对您的代码运行操作(例如测试工具)。 只要工作流程针对仓库的代码运行,或者您使用仓库中定义的操作,您都必须使用检出操作。
- uses: actions/setup-node@v2
with:
node-version: 14
registry-url: https://registry.npmjs.org/
此步骤使用actions/setup-node@v2操作在运行器上安装指定版本的节点软件包,从而可以访问npm命令。
- run: npm install run 关键字指示作业在运行器上执行命令。

参考链接

Github官方文档
Github 持续化集成 工作流 Npm包自动化发布