从 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 系统不兼容。
OpenLDAP是一个集中的用户账号管理系统。使用轻量级目录访问协议(LDAP)构建集中的身份验证系统可以减少管理成本,增强安全性,避免数据复制的问题,并提高数据的一致性。
Harbor默认是使用mysql数据库进行用户管理,那么我们需要修改Harbor的配置文件。
在harbor目录下,执行:
vi harbor.cfg
首先,把自己的IP地址(192.168.16.85)域名设置为: test.harbor.com:
http://gerrit.rockbox.org/r/Documentation/config-gerrit.html#addreviewer
https://blog.csdn.net/ujm7418529631/article/details/79226621
http://www.cnblogs.com/kevingrace/p/5651447.html



DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。