以下是一个发布npm包的例子:
name: Node.js Package
on:
push:
branches:
- main
jobs:
publish-npm:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v2
with:
node-version: 14
registry-url: https://registry.npmjs.org/
- run: npm install
- run: npm run lint
- run: npm run test
- run: npm publish
env:
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 关键字指示作业在运行器上执行命令。 |