安装 gerrit

来源:互联网 发布:全国凤楼兼职信息源码 编辑:程序博客网 时间:2024/05/01 00:16
gerrit常被用于一个开发团队用浏览器共同维护软件 ,基于 java+mysql
底层是Git,所以安装前确保git已被安装

1、安装jdk,因为gerrit用java开发的需要,java运行环境,
yum search openjdk
yum install java-1.7.0-openjdk.i686

2、安装git,这个步骤很简单
yum  install git

让git支持中文
git config --global core.quotepath false
git config --global i18n.logoutputencoding utf8
git config --global i18n.commitencoding utf8

3、下载gerrit,我用的是gerrit-2.8.1.war,将文件上传至linux,我放在/usr/local/目录下
cd /usr/local/
wget http://gerrit-releases.storage.googleapis.com/gerrit-2.8.1.war
java -jar gerrit-2..8.1.war init -d gerrit-site
一路回车........


自此,Gerrit安装过程就完成了,可以在windows平台下通过web访问Gerrit(当然也可以直接用虚拟机本地的浏览器访问),即在浏览器中输入http://10.10.1.234:8080。但是需要注意的是:我用的linux是CentOS,需要先关掉防火墙才能连接上


注意:http://10.10.1.234:8080 要以ip的方式访问,不要用域名访问,用域名的的方式访问,会多一次跳转,跳转到ip形式访问(可能和下面的参数:canonicalWebUrl = http://203.195.187.200:8080/ 有关

安装 gerrit - m15142436758 - LOWPING的博客

 登录的第一个用户将自动成为管理员(Account ID为1000000的就是管理员),所有后续登录的用户都是无权限用户(需要管理员指定权限)。如果你选择了development_become_any_account,在页面顶端会有一个Become链接,通过它可以进入注册/登录页面。


4、启动,停止服务

cd /usr/local/gerrit-site/bin

./gerrit.sh start

./gerrit.sh stop

./gerrit.sh restart


5、支持ldap验证,email

cd  /usr/local/gerrit-site/etc

vim gerrit.config

支持ldap

修改

[gerrit]

        basePath = git

        canonicalWebUrl = http://203.195.187.200:8080/      经过测试,这里不能写localhost,改成真是ip

[auth]

        type = LDAP          把OPENID 改成LDAP

增加ldap配置

[ldap]

        server = ldap://localhost

        accountBase = ou=People,dc=1v,dc=cn

        groupBase = ou=group,dc=1v,dc=cn

accountFullName = ${cn}


支持email

[sendemail]

        enable = true

        smtpServer = smtp.exmail.qq.com

        smtpUser = luxfang@1v.cn

        smtpPass = ****

        from = Admin<luxfang@1v.cn>

        smtpServerPort = 25

6、配置支持gitweb
1、编辑配置文件,让gerrit能找到gitweb的安装目录就行了
vim /data/gerrit/etc/gerrit.config
添加
[gitweb]
        cgi = /var/www/git/gitweb.cgi
2、重启gerrit

7、升级gerrit
下载更高版本的软件包,覆盖安装就OK了
8、gerrit修改一些东西有些非常麻烦,需要登入gerrit的H2数据库
1、进入gerrit-2.8.1.war所在的目录
java -jar gerrit-2.8.1.war gsql -d /data/gerrit

一般常用的命令
show  tables;
用户一般在  accounts  中
组一般在     account_groups   中

2删除project
直接到gerrit_home/git/删除对应project就行

9、迁移gerrit

将gerrit从A地迁移到B地
1:在B地安装好与A地相同的版本的gerrit
2:将A地gerrit_home下的git , db 目录复制到 B地的gerrit_home下

更多信息:相关链接

http://blog.csdn.net/benkaoya/article/details/8680886


10、gerrit 权限

refs/*   下常用的权限read    获取整个仓库数据owner  有这个权限的用户相当于该项目的创建者   

refs/heads/   下常用的权限refs/heads/*  对所有分支有效refs/heads/branch_name对指定分支有效push    直接提交到某个分支create  reference 创建分支,或轻量级的tagLabel Code-Review  审核提交(不能再refs/for/*分指上)Label Code-Review(+2)  + Submit 提交审核通过的代码(不能再refs/for/*分指上)Submit 提交(不能再refs/for/*分指上)Push Merge Commits   在master分支上做了merge操作,且要push master时需要的权限(一般用与refs/*搭配,且不包含push权限)abandon  删除待审核的提交,提交者无须此权限也可操作(不能再refs/for/*分指上)Remove Reviewer 删除审核列表中的审核成员,提交者无须此权限也可操作Forge Author 和 Forge Committer 当提交的用户账号和邮箱与服务器不对时,用这2个权限跳过验证

refs/for/refs/heads/refs/for/refs/heads/* 对所有分支有效refs/for/refs/heads/branch_name对指定分支有效push 只能提交到review,不能直接提交

refs/tags/*   下常用的权限create reference push轻量级标签Push Annotated Tag  push含附注的标签Push signed Tag  push含附注的标签
常用配置案例Reference:refs/*ReadPush Merge Commit              允许merge操作Label Code-Review              和submit权限一起组成,决定审核是否通过SubmitReference:refs/for/refs/heads/master  master分支上的提交必须经过审核Push Reference:refs/heads/first   first分支上可以直接提交Push

gerrit权限覆盖

例子1:除了master分支,其他分支可直接提交安装 gerrit - m15142436758 - JoyBank的博客

 例子2:只有master分支可直接提交,其他分支不行
安装 gerrit - m15142436758 - JoyBank的博客
 


仍然还有个别不常用的命令,未能明确证实其用法

0 0