Gitea Actions 语法
Gitea Actions 的语法大部分兼容 GitHub Actions,核心是用 YAML 文件定义工作流。下面是语法规则总结,直接上点干货。
1. 文件位置
工作流文件必须放在:
.gitea/workflows/*.yml
2. 基本结构
name: workflow名称
on:
push:
branches: [main]
pull_request:
workflow_dispatch:
jobs:
job名:
runs-on: docker
steps:
- name: 步骤名
run: 命令
3. 常用字段
on
定义触发器,比如:
on:
push:
branches: [main]
pull_request:
workflow_dispatch: # 手动触发
runs-on
Gitea 当前仅支持 docker
,写法固定:
runs-on: docker
steps
每个作业下的执行步骤:
steps:
- uses: actions/checkout@v3
- name: 执行命令
run: echo Hello
4. 使用 uses
引入外部 action,比如:
- uses: actions/setup-node@v3
with:
node-version: 18
5. 环境变量
env:
NODE_ENV: production
或者在 step
内:
- run: echo $GREETING
env:
GREETING: "Hello Gitea"
6. 多个 jobs 并行或依赖执行
jobs:
build:
runs-on: docker
steps:
- run: echo Build
test:
runs-on: docker
needs: build
steps:
- run: echo Test
Gitea 使用的是 act_runner
,底层是兼容 GitHub Actions 的,如果你写过 GitHub Actions,语法基本可以直接照搬。
适用于 docusaurus 的 gitea actioons 示例
name: docusaurus-build
on:
push:
branches: [main]
jobs:
build:
runs-on: docker
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- run: npm ci
- run: npm run build