跳到主要内容

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