git因其分布式的版本管理;高效的数据压缩传输;快捷的版本分支;以及开源社区的大力推广。目前git已经是目前使用最广的版本管理软件。国际有github,国内有gitee等平台git服务,对个人有public,对企业也提供私有库管理模式,但是考虑到费用和速度以及数据安全的考虑,很多企业和个人有在局域网搭建自己的git平台的需求。
针对小企业和家庭来说gitblit是个不错的选择,系统功能专一,只提供和版本管理相关的功能,安装也非常简单。
本文主要介绍采用docker方式安装gitblit,并将存储空间设置在主机上,其他方式见http://www.gitblit.com/。
1)创建主机版本存储目录
创建主机版本存储目录,并设置docker用户具有读写权限。
2)docker-compose下安装
docker-compose脚本如下。执行docker-compose -f gitblit.yml up -d即可安装。
脚本下载地址:
version: "3.0"
services:
gitblit:
image: jmoger/gitblit
container_name: gitblit
restart: always
ports:
- 9180:80
- 9143:443
- 9418:9418
- 29418:29418
environment:
- PUID = ${PUID} #主机docker用户id
- PGID = ${PGID} #主机docker用户组id
- TZ = ${TZ}
volumes:
- /data/repositories:/repositories #使用主机空间存储版本库
3)修改容器文件
因为jmoger/gitblit将版本库的baseFolder参数设在/opt/gitblit-data目录。为了使用主机空间,需要在容器创建后修改配置文件。因为容器初始化用到gitblit-data的文件,在创建容器时直接使用主机目录会报错。
停止容器,停止docker服务。在/var/lib/docker/containers找到gitblit容器目录,修改config.v2.json.修改之前请备份文件。
修改位置为
a.
"Cmd" : [
"java",
"-server",
"-Xmx1024M",
"-Djava.awt.headless=true",
"-jar",
"/opt/gitblit/gitblit.jar",
"--baseFolder",
"/repositories/gitblit-data" #将/opt/gitblit-data修改为新位置
b.
"Args": [
"-server",
"-Xmx1024M",
"-Djava.awt.headless=true",
"-jar",
"/opt/gitblit/gitblit.jar",
"--baseFolder",
"/repositories/gitblit-data" #将/opt/gitblit-data修改为新位置
],
启动docker服务和开始gitblit容器。
3.访问与管理
通过浏览器登录,访问地址为https://xxx.xxx.xxx:9143, 管理员为admin,初始密码。登陆后,即可进行项目创建和用户管理。
4.docker镜像下载加速
由于国内网速访问国外docker镜像下载网站速度受到限制,可以通过国内加速站进行加速。
创建或修改/etc/docker/daemon.json文件。加入镜像加速站信息。文件内容如下
{
"registry-mirrors": [
"https://1nj0zren.mirror.aliyuncs.com",
"http://f1361db2.m.daocloud.io"
],
"live-restore": true
}