gerrit知识理解:
gerrit代码审核服务器: 作为Git代码管理服务器,gerrit为git代码的提交引入了强制审核机制(除非特别的授权设置),所以也可以称gerrit服务器为代码审核服务器,其提供团队开发时的严格的代码审核入库机制,便于版本管理和版本安全。
git: 版本控制的工具,gerrit是对git提交代码的一个可视化代码审核机制。
gitweb: Gitweb提供了git版本库的图形化web浏览功能,能看代码库,提交日志等
搭建环境:
服务器操作系统:ubuntu14.04
gerrit所用包:gerrit-2.10.war ,此版本必须要用jdk7以上,本人用了jdk7.
搭建gerrit服务器步骤列表:
1. ubuntu服务器安装git
2. ubuntu服务器安装jdk7
3. 安装gerrit服务器
4. 启动gerrit服务
5. 访问gerrit服务器
6. gerrit账户设置
7. gitweb安装
8. 权限FAQ
具体搭建步骤:
1. ubuntu服务器安装git
sudo apt-get install git-core |
2. ubuntu服务器安装jdk7
1> 从官网下载对应平台的JDK:
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
2> 安装jdk:sudo tar zxvf jdk-7u79-Linux-x64.tar.gz
/home/ubuntu/Software
3> 配置jdk环境变量:
打开/etc/profile, 在其中加入如下环境变量
export JAVA_HOME=/home/ubuntu/Software/jdk1.7.0_79 export JRE_HOME=$JAVA_HOME/jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH |
4> 在shell下执行Java -version,当打印出如下信息时表示jdk安装成功:
java version "1.7.0_79" Java(TM) SE Runtime Environment (build 1.7.0_79-b15) Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode) |
3. 安装gerrit服务器
1> 从官网下载gerrit包gerrit-2.10.war:http://code.google.com/p/gerrit/
2> 建立存放代码的目录: $:mkdir /home/GerritResource,存放上传到gerrit的代码,在配置文件中设置
3> 安装gerrit:
在根目录创建一个gerrit服务安装目录,并把gerrit-2.10.war包放此目录。加入这里目录为:gerrit_server
$:cd / $:sudo mkdir gerrit_server #建立好此目录之后,把gerrit-2.10.war放此目录 $:java -jar gerrit-2.10.war init -d review_site安装gerrit。 |
【注意:安装配置时,标红部分需要设置,其余一路回车保持默认】
[gerrit] basePath = /home/GerritResource #第2点创建的空目录 canonicalWebUrl = http://172.26.13.71:8080/ #服务器地址 ,后续在浏览器中通过此地址访问gerrit服务器 [database] type = h2 #h2为gerrit默认的一个数据库 database = db/ReviewDB [index] type = LUCENE [auth] type = OPENID #OPENID可以采用google及yahoo邮箱登录, 所有需要注册一个账号来初始化登陆 [sendemail] smtpServer = localhost [container] user = gerrit javaHome = /home/ubuntu/Software/jdk1.7.0_79/jre #jdk中的jre路径 [sshd] listenAddress = *:29418 #ssh服务端口,保持默认 [httpd] listenUrl = proxy-http://*:8080/ #默认应该时8081,此处我设置为8080 [cache] directory = cache [gitweb] cgi = /usr/lib/cgi-bin/gitweb.cgi #gitweb为可视化代码库的一个组件, 此处安装gitweb时自动产生,暂时不管。 |
4. 启动gerrit服务
安装完成之后,需要手动启动gerrit服务,在shell下执行如下命令启动:
$:cd /gerrit_server/review_sites/bin #进入到gerrit安装目录下的bin目录。 $: . /gerrit.sh start #启动gerrit服务,停止为. /gerrit.sh stop |
5. 访问gerrit服务器
在客户端(另外一个pc机上)的浏览器中输入服务器网址进入访问:http://172.26.13.71:8080,如图:
看到上图界面说明服务器链接上去了,此时点击上图右上角的sign in然后看到如下截图,
此时注册一个Yahoo ID进行登陆,由于本人之前注册过yahoo id,所有点击“Sign in with
a Yahoo ID”进行登陆的时候没有出现输入用户名等界面,直接跳转到如下图时说明成功登陆了服务器:
6. gerrit账户设置
第一个登陆的用户直接是administrator,系统自动创建ID为1000000的账号,点击上图右上角1000000账号的三角号下拉菜单有一个setting选项卡,点击开始账户设置,当设置玩账户只会,1000000会自动变成设置的用户名。
setting选项卡:
profile-->Username设置为yanxiangyfg
profile-->Fullname设置为yanxiangyfg
Contact Information -->Full Name 设置为yanxiangyfg
SSH Public Keys--->Add key中加入客户端的ssh公钥(shell中输入ssh-keygen,拷贝产生的~/.ssh/id_rsa.pub文件到此处,设置完成之后,在客户端就的git就可以用ssh协议来往gerrit服务器上传和下载代码了。
7. gitweb安装
1> 直接通过命令在服务器中安装:$: sudo apt-get install gitweb
2> 通过git config配置一下:
git config --file /gerrit_server/review_sites/etc/gerrit.config gitweb.cgi $gitweb_path/gitweb.cgi git config --file /gerrit_server/review_sites/etc/gerrit.config --unset gitweb.url |
【注::此处的“/gerrit_server/review_sites”为gerrit服务器安装目录,$gitweb_path变量为gitweb安装目录,可以用“find
/ - name gitweb.cgi”命令找到路径】
3> 重启gerrit服务,使得gitweb生效:
/gerrit_server/review_sites/bin/gerrit.sh stop #停止gerrit服务 gerrit_server/review_sites/bin/gerrit.sh start #启动gerrit服务 |
重启gerrit服务后gitweb生效,如下图,增加了一栏gitweb栏。
8. 权限FAQ
1> 在gerrit集成gitweb之后,发现只有我的root用户(gerrit里注册的第一个用户)才能够点gitweb链接正常打开gitweb页面。其他的普通用户点gitweb链接显示404错误,
解决:为项目的用户组增加了对refs/meta/config的read权限,即在read标签中加入注册的用户组即可
|