自建Git服务器系列——Gitea(Gogs的孪生兄弟)

一.介绍

Gitea其实是Gogs的孪生兄弟,因为这是从Gogs源码的基础上开发的,算是分叉?官方介绍是"Gitea 是一个开源社区驱动的 Gogs 克隆",关于原因可以参考官网上的一篇介绍——>传送门

基本上就是有一部分开发者认为Gogs的开发者效率比较慢,而且不接受他人加入开发,所有修改和PR都需要经过他一个人的审核,这对Gogs的发展很不利。因而部分开发者决定基于Gogs重开一个项目,这就是Gitea,关于这件事我不予置评,但是开源社区不就是因为这样才充满活力与生机吗,百花齐放。

二.安装

因为和Gogs很像,所以我不会做太多说明了

前往 https://dl.gitea.io/gitea 复制最新版本的下载链接 阅读全文→

自建Git服务器系列——Gogs(极易搭建的轻量级自助Git服务)

一.介绍

一般提到自建Git,很多人都会想到GitLab,但是,真正用过的人就知道GitLab对资源消耗那是相当厉害的,个人使用都建议4G以上的配置,要真正释放GitLab的全部功能甚至需要8G、16G,这个似乎是由于GitLab使用了Ruby on Rails(简称RoR)开发导致的,当然,一定程度上也是因为GitLab功能太多。

但是,很多情况下我们其实用不到这么多功能,对于个人来说,我们甚至只需要最基础的那一部分,能够push,能够pull,能够显示Commit History,能够展示diff,仅此而已。因此Gogs应运而生。

参见 https://github.com/gogits/gogs/blob/master/README_ZH.md

很容易能从名字看出来Gogs是以Golang开发的,由于其特性使得Gogs能够非常方便的跨平台,而且对配置要求相当低,你甚至能够使用树莓派来在你家中部署Gogs。

我接触Gogs是很早的时候了,那时候它才刚出现,如今有大量的团队都在使用Gogs,之前说的TT-RSS(Tiny Tiny RSS)就是其中之一,而且伴随着使用者的增多,各种配套的比如CI和项目管理类程序都也开始对Gogs提供支持,这也让其变得更加强大。

来看下Gogs的功能特性:

支持活动时间线
支持 SSH 以及 HTTP/HTTPS 协议
支持 SMTP、LDAP 和反向代理的用户认证
支持反向代理子路径
支持用户、组织和仓库管理系统
支持添加和删除仓库协作者
支持仓库和组织级别 Web 钩子(包括 Slack 和 Discord 集成)
支持仓库 Git 钩子和部署密钥
支持仓库工单(Issue)、合并请求(Pull Request)、Wiki 和保护分支
支持迁移和镜像仓库以及它的 Wiki
支持在线编辑仓库文件和 Wiki
支持自定义源的 Gravatar 和 Federated Avatar
支持 Jupyter Notebook
支持两步验证登录
支持邮件服务
支持后台管理面板
支持 MySQL、PostgreSQL、SQLite3、MSSQL 和 TiDB(通过 MySQL 协议)数据库
支持多语言本地化(28 种语言)

你想要的几乎都有,是不是很想试试呢? 去Gogs的Demo看看吧 ——>传送门

这是通过Gogs镜像同步Github上的Gogs项目,这个功能能够非常方便为你收藏看到的有趣的项目,并且能够与官方Repo保持同步更新,当然你也能随时取消同步将其固定在这一时刻作为备份。 阅读全文→

使用tsocks加速Git下载

一.介绍

讲真,这问题其实挺讨厌的,无论是在腾讯云拉github的东西还是安装DA,真的是各种慢啊,慢到我挂screen一晚上都没好,最后还超时了,简直蛋疼。那么问题来了,怎么解决,github的话有人说可以通过使用非腾讯云自带的DNS以及改Hosts的方法稍微解决一下,而DA需要通过反代以及Hosts来解决,貌似有点麻烦啊,而且其他的怎么办?这就很尴尬,有没有一种一劳永逸的方法捏,我选择tsocks。

这个工具还是别人安利给我的,虽然我已经用了很久了……这玩意其实原理很简单,就是LD_PRELOAD机制预载tsocks的库,从而劫持代理程序里的connect函数,这样就能重定向所有的TCP请求到tsocks配置的socks代理上了,通用性还是挺好的,就是不支持UDP。

二.安装

因为基本上所有系统的软件源里都有这个,所有安装就很简单

然后就要修改配置文件

阅读全文→