国外的:
github.com
gitlab.com
国内的:
gitee.com
coding.net
--------------------------
自从 18 年 GitHub 被 Microsoft 收购后,围绕服务开发者,陆陆续续推出了一些十分贴心的服务,比如:
服务 | 解决问题 |
---|---|
Codespaces | 代码编写 |
Actions | 自动测试 |
Packages | 托管分发 |
Code security | 漏洞探测 |
Discussions | 用户交流 |
Sponsors | 盈利 |
Pages | 网站托管 |
不得不说微软在下一盘大棋,不过今天并不是讨论微软的商业战略,GitHub 无疑已经是现在开发者的必备,但还是希望读者能意识到它本质还是家商业公司,在提供这么多好用、免费的功能同时,肯定会在其他方面找回来,比如前不久收费的副驾驶员 Copilot,毕竟天下没有免费的午餐。甚至以后在 VSCode 中出现 Azure 广告我都不会觉得惊讶,也不担心,毕竟我用 Emacs.(https://www.bleepingcomputer.com/news/security/reverse-shell-botnet-gitpaste-12-spreads-via-github-and-pastebin/ )
对于追求 FOSS(Free and open-source software),不想被 GitHub/GitLab 等商业公司 lock in 的读者,推荐了解下面一个托管平台:
- Codeberg.org,由一家位于德国的非盈利组织创办,整个生态都是基于开源软件构建,托管服务基于 Gitea,持续集成基于 Woodpecker CI。它和 GitHub 体验非常类似,Issue、Pages、Packages、Release 都有,是迁移 GitHub 的首选。它可以在不同托管平台间进行 mirror,达到备份效果。后文会介绍到。
下面两篇文章个人觉得写的比较好,供参考,读者可结合自身情况决定是否要迁移:
Codeberg迁移实践
持续集成 CI
迁移的首要问题就是 CI,很难相信一个项目如果没有持续集成,怎么去保证项目质量?所以首先介绍它的迁移:
- 去 request-access 这里开 issue,#168 - CI for my side project 这个是我当时创建 的,维护者处理很快,一般 1 天内就会通过
- 去 https://ci.codeberg.org 这里给指定项目开通 CI,目前需要一个个开通,有些不方便,但考虑到是一次性工作,所以也不是什么问题。
- 开通之后,就可以开始编写流水线,第一次使用可以参考:Getting started | Woodpecker CI,官方也有个示例项目 Codeberg-CI/examples,方便快速上手。比如使用 Hugo 构建网站则可以参考:examples/hugo.yml.
与 GitHub Action 的主要区别在于,Codeberg 的流水线是基于 Docker 镜像来的,这样就不用担心自己需要的功能没有了。
文件树
之前一直使用 Gitako 这个浏览器插件,按照文档来说,它也能够支持 Gitea 类平台,但是我尝试了几次不成功,后面就转到 Git Master 这个插件上了,设置 token 后,公有、私有仓库都支持的很好。
Pages
Codeberg Pages 可以让用户托管静态网站,使用方式和早期的 GitHub Pages 一样,需要创建一个特殊分支。有两个使用方式:
- 每个用户都可以创建一个
pages
仓库,这个仓库和 GitHub 的{user}.github.io
类似。访问域名为:{user}.codeberg.page
- 对于其他项目,创建一特殊分支
pages
和 GitHub 的gh-pages
类型,访问域名为:{user}.codeberg.page/{project}
如果需要自定义域名,在网站根目录创建一 .domains
文件即可,和 GitHub 的 CNAME
文件类似。
Mirror
作为一名理性的人,永远不要把鸡蛋放在一个篮子里。Codeberg 自带的 mirror 功能,可以在 push 仓库时,向其他托管平台进行 mirror,这一点估计 GitHub 这类商业公司永远也不会提供。使用方式也很简单,可以参考这个文档:
扩展阅读
- Give Up GitHub - Software Freedom Conservancy
- A bright future for GitHub | The GitHub Blog
- Microsoft to acquire GitHub for $7.5 billion - Stories
- What if GitHub is the devil? | daniel.haxx.se
- https://github.com/1995parham/github-do-not-ban-us
- Join the Codeberg e.V. and actively support Free and Open Software Development!
- Codeberg: A GitHub alternative from Europe | Hacker News