打开网易新闻 查看精彩图片

版本号说变就变

Gitea 28.0 来了,最直观的变化是版本号不再带 1.x 前缀。以前的 Gitea 1.28,现在直接叫 Gitea 28。老用户升级前得先适应这个命名逻辑。

审计日志终于内置了

这次加了个硬核功能:内置审计日志。安全相关事件会被记录下来,管理员、组织、仓库和用户设置里都能查看。支持按操作人、动作和来源过滤,还能导出 JSONL 格式。

默认是关闭的,事件保留 30 天,可以自己改。

机器人账号专为自动化而生

新增了专用机器人账号。跟普通用户不一样,它们只能用访问令牌认证,不能交互登录,也收不到通知和邮件。管理员可以通过网页、API 或命令行创建管理。

管理员还能“变身”用户

用户模拟功能挺实用。管理员能临时以某个用户的视角查看 Gitea,排查权限或访问问题不用找用户要密码。开了审计日志后,模拟会话里的操作会同时记录管理员和被模拟账号。

仓库管理更细了

支持仓库级 HTTPS 部署令牌,相当于 SSH 部署密钥的 HTTPS 版,可选只读或读写。分支保护还能要求匹配CODEOWNERS条目批准后才能合并 PR。

大 PR 审查不再头疼

diff 侧边栏加了搜索框和文件扩展名过滤,文件树和 diff 都会跟着过滤。选的扩展名过滤会存到 URL 里,方便分享给同事。

Actions 一堆实用改进 ⚙️

新增构建队列,能看哪些任务在跑、哪些在等 runner,支持仓库级和实例级视图。工作流运行列表自动刷新,构建产物能直接在浏览器里预览,文本、图片、PDF、生成的 HTML 报告都行。

升级前这几个坑得注意 ⚠️

Git 2.25 或更新版本现在是硬性要求,老版本 Gitea 会拒绝启动。自注册默认关闭,除非显式开启。原来的[server] DOMAIN设置不用了,实例域名从ROOT_URL推导。

Git 迁移、镜像和其他网络操作现在走内部代理,有新的出站规则。用了自定义允许/阻止列表的,升级前先检查配置。

保留策略和通知也有变化

完成的 Actions 运行默认保留 400 天,跑完的任务、日志和产物到期删除,改RUN_RETENTION_DAYS可以调整,设成0就永久保留。

实时通知从服务器发送事件换成了 WebSocket。反代后面的 Gitea 得确保 WebSocket 升级头正确转发,不然通知计数和秒表更新会退回轮询。

升级前记得备份数据,仔细看看破坏性变更文档。