返回
构建一个称职的多功能Github Action
前端
2023-10-02 12:54:21
从模板初始化项目
首先,你需要使用命令创建项目:
gh repo create <your-repo-name> --template octocat/action-template-typescript
在根目录添加 action.yml
接下来,你在根目录中创建一个名为action.yml的文件,这是Github Action的配置文件。你可以在此文件里设置项目的触发条件,配置需要运行的任务,自定义输入参数,和输出信息等。
name: 'My Action'
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Build
run: npm run build
- name: Upload artifact
uses: actions/upload-artifact@v2
with:
name: build-artifacts
path: dist/
创建入口 index.ts
在 src 目录下创建一个index.ts文件,这是Github Action的入口文件。在这里,你可以定义Action的功能。
import {Context} from '@actions/github/lib/context';
export async function run(octokit: Octokit, context: Context): Promise<void> {
console.log('Hello world!');
}
获取参数以及 github
你可以通过 context.payload.inputs 获取用户传递给Github Action的参数。你可以通过 octokit 对象与github api进行交互。
const name = context.payload.inputs.name;
获取运行信息
const sha = context.payload.after;
获取issue信息
const issueTitle = context.payload.issue.title;
运行测试
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Test
run: npm run test
部署
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Deploy
run: npm run deploy