`
isiqi
  • 浏览: 16079036 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Ubuntu12.04 server安装Gerrit

 
阅读更多

前一阵子在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站点
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通过网站就可以了,也可用命令行

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

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

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

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

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

git config --global user.name yourname

git config --global user.email youremail


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


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







分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics