Ubuntu12.04 server安装Gerrit

长平狐 发布于 2012/08/28 16:36
阅读 1K+
收藏 0

前一阵子在CentOS 6.2上安装了Git/gitosis/ReviewBoard,那个烦啊。主要是gitosis这个东西管理不方便,其次是 Review board安装也比较繁琐,需要在客户端使用hook。

虽然大家已经开始使用,而且用起来感觉比较简单。但是review board工作流过于宽松,程序员不经过批准也可以push代码到远程服务器上。基本上属于君子协定,不太适合对代码提交审查严格的环境。

所以现在开始试用gerrit。这次使用Ubuntu12.04 server。首先说一下gerrit的优势,它已经提供了访问git server的认证和project管理功能,因此避免了使用gitossi或者其他繁琐的管理工具。

1.安装git

sudo apt-get install git-core git-doc


2.添加gerrit2用户,密码也是gerrit2

参考我的博客:http://blog.csdn.net/sheismylife/article/details/7584656


3.下载gerrit最新的war包

http://code.google.com/p/gerrit/downloads/list

我用的是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 gerrit2:gerrit2 gerrit-2.3.war
mv gerrit-2.3.war /home/gerrit2/
su - gerrit2
chmod -R 777 ./gerrit-2.3.war

gerrit2是war文件的拥有者,并且允许其他用户执行。


6.创建gerrit站点

mv gerrit-2.4.2.war /home/gerrit2

su - gerrit2

java -jar gerrit-2.3.war init -d review_site

回答一系列问题:(绝大多数默认即可)

如果输入错误,可以删除review_site目录,重新执行上面的命令。数据库用默认的H2,我用MySQL老是出错。


7.SMTP设置

在review_site/etc/gerrit.config中设置如下:

[sendemail]
	enable = true
        smtpServer = smtp.gmail.com
        smtpServerPort = 465
        smtpUser = youname@gmail.com
        smtpEncryption = ssl
	smtpPass = youpwd
        sslVerify = false
        from = Code Review <yourname@gmail.com>



8.注意事项

a.我碰到启动失败,然后重新启动gerrit 就好了


b.重新启动必须要用全路径,相对路径不行

~/review_site/bin/gerrit.sh restart


c.第一次打开网站注册用户的就是管理员(这种玩法很有意思,不过最好有个文档)


d.我注册用的是google帐号,如果没有vpn翻墙肯定是不行的


e.同样因为用了google帐号,访问网站必须要用vpn翻墙


f.创建project通过网站就可以了,也可用命令行

注意,通过网站创建的时候,需要选中下面的选项。

Create initial empty commit


g.必须创建一个group,把自己帐号加进去,然后project里面要在push权限内加入这个group

即便你是owner权限,也不能通过git push提交数据。


h:要添加客户端的公钥内容,客户端才能访问

端口是29418,clone命令参考下面的格式:

git clone ssh://chenshu@your_server:29418/REPOSITORY_NAME.git

i.客户端配置必须和网站上用户一致。用下面的命令。

git config --global user.name yourname

git config --global user.email youremail


j.网站访问的默认端口是8080

如果改为80端口,需要root权限启动,否则会启动失败。使用root会带来安全问题。自己衡量了。


k.修改etc/gerrit.config里面的web url

[gerrit]
basePath = git
canonicalWebUrl = http://localhost:8080/

将上面的localhost改成域名或者IP地址。

如何进行代码评审,会在以后的文章里面介绍,本文仅仅是描述如何安装和基本的运行。








原文链接:http://blog.csdn.net/sheismylife/article/details/7583911
加载中
返回顶部
顶部