前一阵子在CentOS 6.2上安装了Git/gitosis/ReviewBoard,那个烦啊。主要是gitosis这个东西管理不方便,其次是 Review board安装也比较繁琐,需要在客户端使用hook。
虽然大家已经开始使用,而且用起来感觉比较简单。但是review board工作流过于宽松,程序员不经过批准也可以push代码到远程服务器上。基本上属于君子协定,不太适合对代码提交审查严格的环境。
所以现在开始试用gerrit。这次使用Ubuntu 12.04 server。首先说一下gerrit的优势,它已经提供了访问git server的认证和project管理功能,因此避免了使用gitossi或者其他繁琐的管理工具。
相关阅读:Ubuntu 11.10 Server 安装Git 服务器
1.安装git
sudo apt-get install git-core git-doc
2.添加linuxidc用户,密码也是linuxidc
3.下载gerrit最新的war包
我用的是2.3版本。
4.准备Java运行环境
现在可以安装openjdk7了。
apt-get install openjdk-7-jdk
需要重建软链接,否则仍然在用openjdk-6
rm /etc/alternatives/java ln -s /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java /etc/alternatives/java
5.修改war文件属性chown linuxidc:linuxidc gerrit-2.3.war
mv gerrit-2.3.war /home/linuxidc/ su - linuxidc chmod -R 777 ./gerrit-2.3.war
linuxidc是war文件的拥有者,并且允许其他用户执行。
6.创建gerrit站点
java -jar gerrit-2.3.war init -d review_site
回答一系列问题:(绝大多数默认即可)
如果输入错误,可以删除review_site目录,重新执行上面的命令。数据库用默认的H2,我用MySQL老是出错。
7.注意事项
a.我碰到启动失败,然后重新启动gerrit 就好了
b.重新启动必须要用全路径,相对路径不行
~/review_site/bin/gerrit.sh restart
c.第一次打开网站注册用户的就是管理员(这种玩法很有意思,不过最好有个文档)
d.我注册用的是google帐号,如果没有vpn翻墙肯定是不行的
e.同样因为用了google帐号,访问网站必须要用vpn翻墙
f.创建project通过网站就可以了,也可用命令行
g.必须创建一个group,把自己帐号加进去,然后project里面要在push权限内加入这个group
h:要添加客户端的公钥内容,客户端才能访问
端口是29418,clone命令参考下面的格式:
git clone ssh://szwed@scmforge.com:29418/REPOSITORY_NAME.git
j.客户端配置必须和网站上用户一致。用下面的命令。
git --config global user.name
git --config global user.email
如何进行代码评审,会在以后的文章里面介绍,本文仅仅是描述如何安装和基本的运行。
更多Ubuntu相关信息见Ubuntu 专题页面 ?tid=2