type
status
date
slug
summary
category
tags
create_time
Jul 20, 2025 12:55 PM
icon
password
my_create_time
📝 前言
这是 DevOps 专题的第七篇,回顾一下前几篇的内容:
- 基本概念介绍:《从阿里云效到自建DevOps平台:Gitea入门介绍》
- 快速部署 Gitea 实例:《使用 Docker 快速部署 Gitea 指南(实战一)》
- 部署 CI/CD 工具:《使用二进制部署 Gitea Runner 指南(实战二)》
- 部署镜像仓库:《离线部署 Harbor 企业级镜像仓库指南》
- Gitea Action 入门:《Gitea Actions 工作流入门指南(实战三)》
- Gitea Action 远程部署:《Gitea Action 远程部署指南(实战四)》
这一篇我们继续介绍如何使用 Gitea Actions 来完成定时构建和手动构建。
🧭 背景介绍
在使用 Gitea 搭建自托管 Git 平台的过程中,很多开发者希望结合 CI/CD 实现自动化构建。
Gitea Actions(兼容 GitHub Actions Workflow)现已支持多种触发机制,包括定时触发和手动触发,极大地增强了 Gitea 在持续集成场景中的实用性。
🔍 使用场景
- 每天定时拉取远程数据并构建静态站点(如:本站的朋友动态)
- 手动触发构建以测试代码变更
- 每周定期运行清理脚本或备份任务
📋 前提条件
在开始之前,请确保你已满足以下条件:
- 已部署并启用 Gitea 1.21+,并开启 Actions 功能(默认开启,部署文章参看:《使用 Docker 快速部署 Gitea 指南(实战一)》)
- Gitea Runner 已正确注册并运行(可参看文章:《使用二进制部署 Gitea Runner 指南(实战二)》)
🚀 详细步骤
1️⃣ 定时构建配置
创建
.gitea/workflows/build.yaml
文件,内容参考如下:配置说明:
- on.schedule:这里我们在
on
标签下,新增了schedule
,并配置了cron
表达式,需要注意的是时间默认是按照UTC
来的,如果想要按照北京时间执行,需要将北京时间-8小时,因为北京时间是属于东八区,是在UTC基础上+8小时。
例如:我们示例里面写的是凌晨2点,实际执行时间就是在北京时间上午10点。
如果想要在实际的北京时间凌晨2点执行,那边我们这里应该配置的是:
0 18 * * *
。另外 Gitea Action 也支持配置多个定时任务,只需要再加一条cron表达式即可,如:
最后再贴一下cron表达式对应的时间配置:
PS:提醒一下定时任务配置仅在仓库的默认分支(一般是main,除非手动修改)生效。
当达到定时任务时,我们在项目的Actions中可查看到
已计划的
执行,表明定时执行成功了:
有可能会延迟个1-2分钟都是正常的。
2️⃣ 手动构建配置(控制台)
手动构建有两种方式,一种是在 Gitea 控制台点击构建,还有一种是通过接口的形式触发构建。
我们先介绍通过控制台的方式进行手动构建,只需要在上面的yaml文件里面添加一行配置即可,参考如下:
当我们在
on
标签下面添加workflow_dispatch:
后,进入 Gitea 项目控制台 → Actions → 工作流文件,就可以看到新出现的运行工作流
按钮了,点击即可触发手动构建,如下图:
3️⃣ 手动构建配置(接口触发)
除了在 Web 界面点击
运行工作流
按钮外,Gitea 也支持通过 API 方式手动触发 workflow_dispatch
类型的构建,适用于 CLI 脚本、Webhook 联动、自动化平台(如 Jenkins、n8n)等场景。相比在控制台手动点击构建,通过接口的方式触发无疑是要更加灵活。
PS:我的博客站点就是通过在Notion中点击按钮触发接口执行的构建,不用再到Gitea上去找项目点执行了。
首先我们获取个人 Token,进入 Gitea 个人设置 → 应用 → 生成新的令牌。
因为是内网环境,权限直接全部勾选,随便填一个令牌名称,点击生成令牌即可:

生成完的令牌我们需要保存好,在下面调用接口的时候会用到。
接口请求URL:
请求头:
请求体:
cURL 命令参考如下:
请求成功后返回
204 No Content
,不会有输出,可以到Gitea控制台 → Actions里面查看是否有构建。✅ 总结
最后总结一下通过本指南,我们系统地了解了如何在 Gitea 中:
- 配置定时构建(schedule)
- 支持多个 cron 表达式(UTC 时间换算)
- 启用手动触发构建(workflow_dispatch)
- 通过 Gitea API 实现自动化触发构建流程
Gitea Actions 提供了灵活而强大的触发机制,使得在自托管环境中实现类似 GitHub Actions 的自动化流程成为可能。
无论是定期同步、备份、构建部署,还是集成其他工具的自动触发,Gitea 都能胜任。
有关文章的任何疑问,欢迎您在底部评论区留言,一起交流~
若文章对您有帮助,欢迎 请我喝杯咖啡~
- 作者:青萍叙事
- 链接:https://blog.lusyoe.com/article/gitea-actions-schedule-and-manual-workflow-guide
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。