vault backup: 2026-11-07 16:33:44

This commit is contained in:
cheney
2026-11-07 16:33:55 +08:00
commit 7015312702
1208 changed files with 132432 additions and 0 deletions
+63
View File
@@ -0,0 +1,63 @@
## 1 基本概念
类似于 GitHub Actions,Gitea Actions 同样包含了工作流(Workflow)、事件(Event)、任务(Job)、步骤(Step)、运行器(Runner)等几项重要的基本概念。
### 1.1 工作流
**工作流**是一个可配置的自动化过程。我们将本地写好的 Markdown 文件推送(`push`)到远程云服务器的 Gitea 仓库,触发后续 Markdown 向 HTML 页面的自动渲染及博客站点的自动发布更新,这个过程就是一个典型的工作流。
工作流由定义在仓库指定目录下的 YAML 脚本描述,对于 GitHub Actions 而言,这个目录是 `.github/workflows`,对于 Gitea Actions 而言,这个目录是 `.gitea/workflows`。
### 1.2 事件
**事件**是触发工作流开始运行的源头,仍以 Hexo 博客的 CI/CD 工作流为例,我们将 Markdown 文件 `push` 到远程云服务器 Gitea 仓库的动作就是一个事件。
### 1.3 任务和步骤
**任务**是工作流中一组**步骤**的集合,一个工作流可以包含多个任务,一个任务可以包含多个步骤,每个步骤都包含了若干条具体的操作命令。步骤按顺序执行,并且相互依赖。
我们可以配置工作流中任务间的依赖关系(默认无依赖关系,并行运行),当一个任务依赖于另一个任务时,它将等待所依赖任务完成后才能开始运行。
### 1.4 运行器
**运行器**是执行工作流任务的软件程序,工作流中的每个任务都需要指定运行器,不同的任务可以指定不同的运行器。
一个典型的 Gitea Actions 工作流如下图所示:
![](https://pic3.zhimg.com/80/v2-f20765564372b73b9e11def9388025b2_720w.webp)
典型的 Gitea Actions 工作流
## 2 环境配置
### 2.1.1 全局配置
Gitea 配置文件 `/etc/gitea/app.ini`,确保配置文件 `actions` 配置项并开启 Gitea Actions 功能:
```ini
[actions]
ENABLED = true
```
### 2.1.2 为指定仓库开启 Actions 功能
即使 Gitea Actions 已经在配置文件中开启,对于某个指定的仓库而言其 Actions 功能仍是默认关闭的,需要针对仓库进行单独配置:
![](https://pic3.zhimg.com/80/v2-8b981d756bc907c644d03396969943b2_720w.webp)
为指定仓库开启 Actions
### 2.2 部署 act runner
Gitea 使用 [act runner](https://link.zhihu.com/?target=https%3A//gitea.com/gitea/act_runner) 来执行具体的工作流任务。使用 docker 安装 act runner 的过程如下:
- Step 1
```bash
docker run -e GITEA_INSTANCE_URL=https://your_gitea.com -e GITEA_RUNNER_REGISTRATION_TOKEN=<your_token> -v /var/run/docker.sock:/var/run/docker.sock --name cicd gitea/act_runner:nightly
```
```bash
GITEA_INSTANCE_URL 是 gitea 地址
GITEA_RUNNER_REGISTRATION_TOKEN 是创建 runner 时自动生成的 token
```
![[Pasted image 20240820093153.png]]gitee 在用户-设置下创建的 action 和在项目的设置下创建的 action 什么区别?