type
status
date
slug
summary
category
tags
create_time
Jul 20, 2025 05:22 AM
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 Action 定时与手动构建:《Gitea Action 定时构建和手动构建指南(实战五)》
- Harbor 镜像代理配置:《Harbor 镜像代理仓库配置指南》
- Gitea Action 构建多架构镜像:《Gitea Action 构建多架构镜像指南(实战六)》
- Gitea Action 构建缓存加速:《Gitea Action 构建缓存加速指南(实战七)》
这一篇我们继续介绍如何使用 Gitea Actions 来配置构建结果通知(邮件)。
PS:这一篇过后我们 DevOps 专题系列就要暂告一段落了,下一个专题主要是围绕《云原生》展开。
云原生一个很大的专题系列,到时候也会涵盖部分 DevOps,如灰度、蓝绿发布等,同时不止是局限于Gitea Action,感兴趣的同学可以持续关注哈~
🧭 背景介绍
在持续集成过程中,构建完成通知是不可或缺的一环。它能让开发者第一时间获知任务是否执行成功,及时发现问题、节省沟通成本。
而 Gitea 自带的 Actions 功能(类似 GitHub Actions)也支持在构建流程中集成自定义通知机制。
PS:这期我们主要是介绍通过
dawidd6/action-send-mail
进行邮件通知。🔍 使用场景
主要适用于以下场景:
- 希望在构建成功或失败后,自动发送邮件给开发者、测试或运维人员。
- 需要支持自定义邮件格式和内容,包括模板渲染、条件分支等。
- 希望在构建失败时高亮提醒,以便快速响应问题。
📋 前提条件
开始之前,请确保满足以下条件:
- 已部署 Gitea 1.21+,并开启 Actions 功能(默认开启,部署文章参看:《使用 Docker 快速部署 Gitea 指南(实战一)》)
- Gitea Runner 已正确注册并运行(可参看文章:《使用二进制部署 Gitea Runner 指南(实战二)》)
- 能访问一个 SMTP 邮件服务(如:阿里企业邮箱,可参看文章:《申请阿里云免费企业邮箱指南》)
- 基本了解
.gitea/workflows/*.yaml
的结构(可参看本系列的前几篇文章入门)。
🚀 详细步骤
1️⃣ 基础邮件发送配置
编写工作流文件,创建
.gitea/workflows/build.yaml
文件,内容参考如下:参数说明:
- server_address: 邮箱服务器地址,这个就不用多说了,可根据你选择的邮箱服务商填写
- server_port: 邮箱服务端口,465 默认为安全端口
- username: 发送邮件的账号名,这里通过 secrets 安全引用,关于secrets如何使用可参看之前的一篇文章:《Gitea Action 远程部署指南(实战四)》
- passowrd: 发送邮件的账号密码
- subject: 发送邮件的主题
- to: 发送给哪些邮件地址,这里通过 vars 变量进行引用,在下一步会介绍到如何创建变量。
- from: 发件人的名称,可自定义如果不填就是显示发件人的邮箱地址。
- body: 通知邮件发送的内容,这里只是简单的演示,在下面会介绍到通过模板发送的高级用法。
最终发送的只是很简单的文本内容,示例如下:
2️⃣ 创建 vars 变量
在上一步中我们介绍到了通过变量的方式
动态引用
接收邮件通知的人,这里我们再介绍下如何创建变量。进入 gitea 项目 → 设置 → Actions → 变量 → 添加变量,如下图所示:


这里值填写接收人的邮箱地址,如果接收人是多个的话,可以通过
逗号,
分割。3️⃣ 进阶版邮件模板发送
在上面基础用法中,我们只是简单的发送了一条通知内容,如果想要通知内容更丰富、更美观,就需要我们通过自定义的
html模板
来发送了,参考示例如下:配置说明:
- 这里我们新加了一个生成构建通知邮件模板的步骤,并传递了一些构建过程中的内置环境变量。
- 在发送时,我们将
body
,替换为了html_body
,使其发送的是html
而不再是简单的文本内容。
最终效果如下:

需要这个模板生成器的同学可以关注公众号:
青萍叙事
,发送消息: 构建通知,即可获取这套工具~4️⃣ 终极版构建状态发送
在上一步进阶版中我们也只是将发送内容美化和丰富了一下,但不能每次都是发送构建成功的通知吧,构建失败怎么办呢,这里我们就再介绍下如何根据构建状态来动态发送不同的模板内容。
参考示例如下:
配置说明:
- 这里我们配置了2个不同的 Job,并根据
if:
条件进行判断,如果成功则执行notify-success
失败执行notify-failure
。
- 在不同的 Job 中,我们发送的模板文件也是不一样的,成功时发送的是
success_scenario_email.html
、失败发送failure_scenario_email.html
。
如果构建失败,会自动发送失败邮件,内容参考如下:

至此我们的构建邮件通知基本已经配置完成了,可用于生产使用~
✅ 总结
最后总结一下,通过本文介绍,您应该学会了:
- 如何通过 Gitea Actions 构建后发送邮件通知。
- 如何创建配置并引用 Action 变量。
- 如何发送文本及 html 高级通知邮件。
- 如何根据构建成功/失败动态发送不同邮件。
邮件虽然传统,但依旧是 DevOps 自动化中不可替代的一环,尤其适合需要流程可追溯、记录完备的团队环境。
当然您也可以拓展改用钉钉、飞书或企业微信进行通知,这就不在本文的介绍范围内了。
有关文章的任何疑问,欢迎您在底部评论区留言,一起交流~
若文章对您有帮助,欢迎 请我喝杯咖啡~
- 作者:青萍叙事
- 链接:https://blog.lusyoe.com/article/gitea-action-build-notification-guide
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。