您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
 
   
 
 
     
   
 订阅
  捐助
git学习--gerrit服务器搭建总结
 
来源:csdn 发布于 2017-1-3
  4363  次浏览      20
 

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标签中加入注册的用户组即可

   
4363 次浏览       20
相关文章

每日构建解决方案
如何制定有效的配置管理流程
配置管理主要活动及实现方法
构建管理入门
相关文档

配置管理流程
配置管理白皮书
CM09_C配置管理标准
使用SVN进行版本控制
相关课程

配置管理实践
配置管理方法、工具与应用
多层次集成配置管理
产品发布管理
最新活动计划
LLM大模型应用与项目构建 12-26[特惠]
QT应用开发 11-21[线上]
C++高级编程 11-27[北京]
业务建模&领域驱动设计 11-15[北京]
用户研究与用户建模 11-21[北京]
SysML和EA进行系统设计建模 11-28[北京]

软件配置管理的问题、目的
软件配置管理规范
CQWeb 7.1性能测试与调优指南
为什么需要使用ClearCase
ClearCase与RTC的集成
利用ClearQuest 进行测试管理
更多...   

产品发布管理
配置管理方法、实践、工具
多层次集成配置管理
使用CC与CQ进行项目实践
CVS与配置管理
Subversion管理员

配置管理实践(从组织级到项目级)
通号院 配置管理规范与应用
配置管理日构建及持续集成
丹佛斯 ClearCase与配置管理
中国移动 软件配置管理
中国银行 软件配置管理
天津华翼蓝天科技 配置管理与Pvcs