Files
Knowledge/1 使用/git/gitee action 的使用.md
T

2.9 KiB
Raw Blame History

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 工作流如下图所示:

典型的 Gitea Actions 工作流

2 环境配置

2.1.1 全局配置

Gitea 配置文件 /etc/gitea/app.ini,确保配置文件 actions 配置项并开启 Gitea Actions 功能:

[actions]
ENABLED = true

2.1.2 为指定仓库开启 Actions 功能

即使 Gitea Actions 已经在配置文件中开启,对于某个指定的仓库而言其 Actions 功能仍是默认关闭的,需要针对仓库进行单独配置:

为指定仓库开启 Actions

2.2 部署 act runner

Gitea 使用 act runner 来执行具体的工作流任务。使用 docker 安装 act runner 的过程如下:

  • Step 1
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
GITEA_INSTANCE_URL 是 gitea 地址
GITEA_RUNNER_REGISTRATION_TOKEN 是创建 runner 时自动生成的 token

!Pasted image 20240820093153.pnggitee 在用户-设置下创建的 action 和在项目的设置下创建的 action 什么区别?