从Gitblit迁移到Gogs,终于不会内存泄露到server down啦!

先附上几个GIT仓库开源软件的比较:

通过这个表格得出如下的结论:
  • 如果你希望开展git仓库托管服务并且信任gitlab的实力,可以采用gitlab,不过中文化的工作量不小。
  • 如果仅仅是小型团队的内部git仓库管理,gogs足够了。尽管缺少细致的权限控制,但是极低的资源占用,丰富的功能还是很吸引人的。而且,gogs的开发似乎很活跃,贡献人数也比较多。BTW,gogs项目是中国人创建的。
  • 如果必须采用java部署,gitblit目前是不错的选择,但是gitblit缺少了pull request这个重量级的协作工具是一大遗憾。

同时,受够了GitBlit三天两头因为内存泄露导致Server内存和swap被吃空,CPU忙着搬砖导致占用率100%,因此,迁移到Gogs。

整个过程很顺利也很方便。参考:https://gogs.io/

其中,特别需要注意的一点是Gogs需要MySQL5.7以上版本。

gogs.io中把库名创建好之后,直接从gitblit的data中把git库cp 覆盖gogs的库即可。

最后,做一些打扫工作:

  • /etc/init.d/ 中 gitblit删除,gogs添加。开机自启动。 (scripts/init/centos/gogs cp 到/etc/init.d/ 修改里面的内容)
  • systemctl list-unit-files | grep enabled 查看开机启动的服务,不需要的systemctl disable掉

完工!一个顺畅的server又飞起~