从 Gitea 到 Forgejo:开源代码托管与 CI/CD 的选型、对比与实践
在开源代码托管平台的选择上,Gitea 凭借轻量、易部署的特性,一直是很多开发团队的首选。但近两年来,Forgejo 的出现和崛起,给这个领域带来了新的变量。
Gitea 和 Forgejo 到底是什么关系?它们的 CI/CD 能力有何差异?如何基于它们搭建现代化的 DevOps 流水线?又能否将 Kubernetes 作为 CI/CD 的执行环境?
这篇文章将基于我们团队的调研和实践,一次性讲清楚这些问题。
在开源代码托管平台的选择上,Gitea 凭借轻量、易部署的特性,一直是很多开发团队的首选。但近两年来,Forgejo 的出现和崛起,给这个领域带来了新的变量。
Gitea 和 Forgejo 到底是什么关系?它们的 CI/CD 能力有何差异?如何基于它们搭建现代化的 DevOps 流水线?又能否将 Kubernetes 作为 CI/CD 的执行环境?
这篇文章将基于我们团队的调研和实践,一次性讲清楚这些问题。
解决
libsubid.so.5缺失错误,并升级到最新版本的全过程记录。
在 Debian 12 (bookworm) 上执行 buildah -v 时遇到以下错误:
buildah: error while loading shared libraries: libsubid.so.5: cannot open shared object file: No such file or directory
用 ldd 检查依赖后发现三个缺失项:
| 缺失的库 | 原因 |
|---|---|
libsubid.so.5 |
Debian 12 只有旧版本,不兼容 |
libgpgme.so.45 |
Debian 12 只有 libgpgme.so.11 |
GLIBC_2.38 |
Debian 12 的 GLIBC 版本是 2.36 |
/usr/bin/buildah 二进制文件被替换成了针对较新系统(如 Debian 13/trixie 或 Ubuntu 24.04)编译的版本,与当前 Debian 12 系统不兼容。
在 Jenkins 容器中使用 buildah push 推送镜像时,设置登录认证主要有三种方式。将凭证硬编码在命令里会带来严重的安全风险,因此在实际的 CI/CD 实践中,更推荐采用"登录 (Login) + 配置文件 (Authfile)“的方式。
你有没有遇到过这种情况——凌晨 3 点,用户在群里反馈服务挂了,而你这边一个告警都没有?Prometheus 的 Alertmanager 安静如鸡,因为"没有流量就没有错误"。等客户把电话打到老板那里,你才知道负载均衡器早就挂了。
飞书文档和本地笔记能否打通?数据散落在飞书、Obsidian 各个平台,每个都是孤岛——想找一篇半年前写的东西,得在四个后台翻十分钟。
本文介绍 feishu-cli(
riba2534/feishu-cli),一个把飞书开放平台封装为命令行工具的开源项目,让内容在飞书和 Obsidian 之间双向流动。
「用心若镜,不将不迎,应而不藏,故能胜物而不伤。」 ——《庄子·应帝王》
心若能如明镜止水,物来则照,物去则空,不执着于过往,不期盼于未来,便可在纷繁世事中游刃有余而不被其所伤。
你有没有等过
git clone一个大仓库?Chrome 的源码 30GB+,Linux 内核 4GB+,clone 一次可能要等十几分钟。对人类来说这只是一杯咖啡的时间,但对 AI Agent 沙箱、CI/CD 容器、预览环境来说,这些等待时间是无法接受的——容器启动后需要立刻访问代码,而不是等 10 分钟 clone 完成再开始工作。
Cloudflare 的 ArtifactFS 就是来解决这个问题。它用 Go 写了一个 FUSE 文件系统,把 Git 仓库"秒挂载"为本地目录——先暴露完整的文件树,文件内容按需从远程拉取。操作系统看到的和一个正常的 git clone 一模一样,但你不需要等待 clone 完成。
建议阅读人群: 产品经理 / 对 Agent Harness 感兴趣的非纯技术人员
原文作者: 张佳(字节跳动),本文是对其飞书社区分享的整理和解读
Demo 场景: 开发一个「写作 Agent」—— 用户提供写作主题和风格参考文章,Agent 联网调研后在指定路径下输出文稿
以写作 Agent 为例,演示如何从一个「出厂配置」的基本 Agent 描述,逐层叠加 Harness 策略,最终形成一份可靠的开发规格。
每一层都解决上一层暴露的问题,循序渐进。
你花在 AI 编程上的费用,90% 都浪费在了没必要上传的上下文里!
最近,X 上的一位技术博主 Ronin 分享了一篇干货满满的博客《如何把 AI 编程账单砍掉 80%》。他的切身案例令人震惊:每月 AI 编程开销从 4200 美元降到了 312 美元——没有换新工具、没有减少项目交付产出,也没有换成便宜的"平替"。
得出了一个反常识的结论:想要控制好 AI 编程成本,先管好上下文,再选对模型。
最近在 WSL2 环境下使用 zsh,发现终端的历史记录功能几乎不可用:
Ctrl+R 只能逐条翻看历史,效率低下作为一个重度终端用户,每天要敲大量命令。如果能像搜索引擎一样,输入几个关键字就快速匹配到之前执行过的命令,可以显著降低记忆负担,提高操作效率。
本文将记录如何配置 zsh 实现智能的历史命令补全。