关于Gitblit

Gitblit是一个以Git为基础的代码版本管理库。Gitblit简单易用,虽然界面不及Gitlab好看,但是Gitblit配置要求低,基本没什么依赖,而Gitlab依赖较多,搭建起来不是很方便(当然如果使用Docker那就很方便啦)。

使用

这里以 nginx 配合 gitblit 为例说一下 nginx 和 gitblit 配合使用搭建代码库。
注:文章默认已经掌握nginx安装和基本配置技能、linux基本操作

下载安装Gitblit

首先从Gitblit官网下载Linux对应的压缩包,并解压到想要放的目录,比如/data/gitblit,解压完的结构如下:

修改data/gitblit.properties文件里面的http和https端口配置,找到server.httpPort、server.httpsPort并修改为自己想要的端口,或者使用默认端口。
修改service-centos.sh文件,有几个变量(属性)要修改:

1
2
3
4
5
6
7
8
9
GITBLIT_HTTP_PORT、GITBLIT_HTTPS_PORT修改为刚刚我们设置的端口

GITBLIT_LOG是log要存放的位置

GITBLIT_PATH是Gitblit的安装路径

GITBLIT_BASE_FOLDER是数据存放的路径(默认应该是Gitblit安装路径中的data目录)

如果上面几项都没有,那么在脚本前面加入它们。

上面都是准备工作,如果配置好了,那么用root权限执行service-centos.sh脚本,执行完之后以后可以通过service gitblit {start|stop|restart|force-reload}来启动停止gitblit。
现在运行service gitblit start,如果启动成功,那么访问 your_ip:port 应该能看到Gitblit的欢迎界面了。

Nginx反向代理Gitblit

接下来我们为Git配置nginx的反向代理。
nginx的基本配置就不说了,现在给出简单代理Gitblit的配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
server {
listen 80;
server_name git.abcabc.com;

access_log logs/git.abcabc.com.access.log;

# 这一条配置主要是针对如果一次性提交量数据过大而设置
# 假如有资源文件,那么使用默认的nginx配置容易超出
client_max_body_size 100m;

location / {
proxy_set_header Host $host;
proxy_pass http://localhost:端口;
}

# https配置与http类似,这里不罗列了。
}

配置完之后reload nginx,那么我们现在可以通过git.abcabc.com访问gitblit啦。

默认的Gitblit管理员账号密码为admin/admin,配置完之后应该马上修改掉。
从安全性角度考虑:强烈建议使用https而非http。