记录下自己用过的几种git server
:GITEA
,gitolite3
,Gidder/Gitrepo
GITEA
现在正在用,简单方便,基本的功能都有了
1 2 3 4 5 6 7 8 9 10 11
| yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum install -y docker-ce systemctl enable docker systemctl start docker
docker pull gitea/gitea:latest mkdir -p /data/gitea docker run -d --name=gitea -p 2222:22 -p 3000:3000 -v /data/gitea:/data gitea/gitea:latest docker update --restart=always gitea
|
1 2 3 4 5 6 7 8 9 10
| cat > /etc/nginx/conf.d/001_${DOMAIN}.conf << "EOF" server { server_name {DOMAIN}; listen 80;
location / { proxy_pass http://127.0.0.1:3000/; } }
|
gitolite3
准备key
安装前先准备公钥,私钥
1 2 3 4
| pi@raspberrypi /data % tree ssh ssh ├── mingilin └── mingilin.pub
|
安装
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| sudo apt-get install gitolite3 正在读取软件包列表... 完成 正在分析软件包的依赖关系树 正在读取状态信息... 完成 将会安装下列额外的软件包: libcommon-sense-perl libjson-perl libjson-xs-perl 建议安装的软件包: git-daemon-sysvinit gitweb 下列【新】软件包将被安装: gitolite3 libcommon-sense-perl libjson-perl libjson-xs-perl 升级了 0 个软件包,新安装了 4 个软件包,要卸载 0 个软件包,有 100 个软件包未被升级。 需要下载 0 B/336 kB 的软件包。 解压缩后会消耗掉 1,040 kB 的额外空间。 您希望继续执行吗?[Y/n]y 正在预设定软件包 ... Selecting previously unselected package libjson-perl. (正在读取数据库 ... 系统当前共安装有 85705 个文件和目录。) 正在解压缩 libjson-perl (从 .../libjson-perl_2.53-1_all.deb) ... Selecting previously unselected package gitolite3. 正在解压缩 gitolite3 (从 .../gitolite3_3.6.4-1~bpo70+1_all.deb) ... Selecting previously unselected package libcommon-sense-perl. 正在解压缩 libcommon-sense-perl (从 .../libcommon-sense-perl_3.6-1_all.deb) ... Selecting previously unselected package libjson-xs-perl. 正在解压缩 libjson-xs-perl (从 .../libjson-xs-perl_2.320-1_armhf.deb) ... 正在处理用于 man-db 的触发器... 正在设置 libjson-perl (2.53-1) ... 正在设置 gitolite3 (3.6.4-1~bpo70+1) ... 初始化空的 Git 版本库于 /var/lib/gitolite3/repositories/gitolite-admin.git/ 初始化空的 Git 版本库于 /var/lib/gitolite3/repositories/testing.git/ WARNING: /var/lib/gitolite3/.ssh missing; creating a new one (this is normal on a brand new install) WARNING: /var/lib/gitolite3/.ssh/authorized_keys missing; creating a new one (this is normal on a brand new install) 正在设置 libcommon-sense-perl (3.6-1) ... 正在设置 libjson-xs-perl (2.320-1) ...
|
在安装过程中提示输入公钥(.pub), 将公钥的绝对路径输入
然后等待安装完成
在安装过程中有提示
1 2
| 初始化空的 Git 版本库于 /var/lib/gitolite3/repositories/gitolite-admin.git/ 初始化空的 Git 版本库于 /var/lib/gitolite3/repositories/testing.git/
|
查看权限
1 2
| pi@raspberrypi ~ % ll /var/lib|grep gitolite3 drwxr-xr-x 5 gitolite3 gitolite3 4.0K 5月 11 09:56 gitolite3
|
说明user是gitolite3
CLONE
1 2 3 4 5 6 7 8
| cp /data/ssh/mingilin ~/.ssh/id_rsa && chmod 400 ~/.ssh/id_rsa # # git clone gitolite3@GITHOST:gitolite-admin.git # # # #
|
权限设置请参考http://www.server-world.info/en/note?os=CentOS_6&p=gitolite&f=4
修改用户名
如果觉得gitolite3@xxxx
比较别扭的话,使用sudo usermod -l git gitolite3
更改用户名
然后就可以使用git clone ssh://git@SSHHost:SSHPort/xxx.git
了
基于linux ssh
安装
创建repo
1 2
| mkdir -p /repos git init --bare /repos/test.git
|
连接
1 2 3 4 5
| cd ~/.ssh touch config && chmod 600 config echo "HostkeyAlgorithms +ssh-dss" >> config git clone ssh://username@ip:port/repos/test.git test
|
Gidder/Gitrepo
Google Play
已经找不到这两个软件了
个人只备份了一个Gitrepo
设置
Users
setup
-> users
-> add new user
Repositories
setup
-> repositories
-> add repository
-> add permission
Client
增加ssh-dss支持
1 2 3
| cd ~/.ssh touch config && chmod 600 config echo "HostkeyAlgorithms +ssh-dss" >> config
|
1
| git clone ssh://username@ip:port/reponame.git
|
gitlab
VPS太垃圾,不敢用
参考文档
- http://www.server-world.info/en/note?os=CentOS_6&p=gitolite
- http://www.uml.org.cn/pzgl/201404092.asp