gitlab的搭建与使用
鉴于功夫网的封锁能力越来越强,github也难免遭受误伤,周围的同事经常往github上push时超时。故需要在本地搭建一个git服务器,并将本地git服务器上的提交原封不动的push到github。在参考借鉴了许多方案,选择了gitlab这一开源、高仿github的解决方案。
gitlab的搭建
bitnami上有集成好的一键安装包,选择好操作系统后直接下载。点我下载
安装很简单,给下载的bitnami-gitlab-7.6.2-0-linux-x64-installer.run加上可执行权限后直接执行就行,中途输入一些参数,就静静等待安装完成了(赞一下bitnami,省了不少麻烦)。1
2chmod +x bitnami-gitlab-7.6.2-0-linux-x64-installer.run
./bitnami-gitlab-7.6.2-0-linux-x64-installer.run
从github上导入已有项目
用安装时输入的账号与密码(此账号为管理员账号)登陆http://192.168.11.160:80,新建一个group,从github上导入项目,并设置镜像仓库和hook脚本,即可开始美妙的gitlab之旅了。
导入完成后,就是这个样子。
gitlab的其他功能,基本上与github大同小异,大家可以慢慢摸索就好。
设置github为远程仓库
注意:以下操作需切换到git用户
1.生成密钥对,并将公钥添加到github上。1
sudo -u git ssh-keygen
使用cat /home/git/.ssh/id_rsa.pub
得到公钥字符串,复制添加到github账户中。
这样就把gitlab服务器上的公钥添加到github上了。
2.编辑ssh配置文件1
vi /home/git/.ssh/config
修改成如下内容:1
2
3
4Host github
IdentityFile /home/git/.ssh/id_rsa.pub
HostName github.com
User git
使用ssh -T git@github.com
测试配置是否正确。如出现You've successfully authenticated, but GitHub does not provide shell access.
字样,说明配置ok。
3.为项目添加github镜像。
打开/opt/gitlab-7.6.2-0/apps/gitlab/repositories/incito/chenwei-private.git/,执行以下命令为仓库添加gitgub镜像。1
git remote add --mirror github github.com:incito/chenwei-private.git
4.添加hooks脚本
打开/opt/gitlab-7.6.2-0/apps/gitlab/repositories/incito/chenwei-private.git/,创建custom_hooks文件夹,添加post-receive脚本。
脚本内容如下:1
2
3#!/bin/bash
git push -q github
给脚本文件增加可执行权限1
chmod +x post-receive
测试提交
在eclipse里,把远程地址换成gitlab里面的地址,提交一个测试用的commit。
push到远程仓库
验证