码迷,mamicode.com
首页 > Web开发 > 详细

7、Gerrit集成GitWeb

时间:2016-06-16 11:48:42      阅读:551      评论:0      收藏:0      [点我收藏+]

标签:gerrit+gitweb、gerrit集成

gerrit和Gitweb的本地集成介绍

Gerrit能够管理和生成超链接到GitWeb上,并允许用户从Gerrit页面跳转到GitWeb页面上查看相同信息。

以下是Gerrit官网对Gerrit-GitWeb集成的介绍:

https://gerrit-documentation.storage.googleapis.com/Documentation/2.7/config-gitweb.html


Gerrit和GitWeb如何集成使用?

1、首先Gerrit服务器上要安装GitWeb,如果没有安装,则执行以下命令来安装

yum -y install gitweb


2、配置Gerrit来集成GitWeb

配置命令:

git config --file $site_path/etc/gerrit.config gitweb.cgi $gitweb_path/gitweb.cgi
git config --file $site_path/etc/gerrit.config --unset gitweb.url
我的测试环境中,gerrit的安装路径为 /home/gerrit2/gerrit

yum安装的GitWeb,生成的gitweb.cgi文件路径为/var/www/git/gitweb.cgi

技术分享

安装完成后重启Gerrit服务器


重启后,可以看到GitWeb的超链接

技术分享

打开超链接,项目的所有提交记录都能看到,每一次提交修改了哪些内容也能看到。

技术分享

技术分享


GitWeb权限问题

GitWeb集成Gerrit后,默认只有管理员用户才能查看GitWeb超链接,普通用打开链接后页面显示Not Found。

如果想给普通的用户查看GitWeb超链接的权限,则必须对项目设置refs/meta/config 的Read权限。而这个权限在All-Projects的ACL里只对Administrators用户和Project Owners开放。

技术分享


于是需要在单独项目的ACL里为项目的用户组增加对refs/meta/config的read权限,如下图

 技术分享

这里我是对所有的注册用户开放了该权限,用普通用户user2登录Gerrit Web UI,确实能打开CI-DEMO项目里面的GitWeb超链接了

技术分享


但是,问题来了。原来gerrit是用git做自身的ACL管理的,因此所有对refs/meta/config有read权限的用户都可以在Project的Access页面里修改权限,修改后虽然不能直接submit,但是可以作为patch提交review。而且通过gitweb就能够看到project.config和groups文件的全部内容,知道当前项目是如何设置权限的。这样是否合适就仁者见仁智者见智了

技术分享


另外,对于用户提交的关于权限修改的patch如果想commit的话需要对refs/meta/config做和refs/heads/*一样的权限设定,也就说需要Label Code-Review,Label Verified,Submit三个权限才有可能commit patch。

技术分享

技术分享









本文出自 “zengestudy” 博客,谢绝转载!

7、Gerrit集成GitWeb

标签:gerrit+gitweb、gerrit集成

原文地址:http://zengestudy.blog.51cto.com/1702365/1789794

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!