7、Gerrit集成GitWeb

简介:

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

image2016-6-14%2014%3A27%3A57.png?versio

安装完成后重启Gerrit服务器


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

image2016-6-14%2014%3A32%3A25.png?versio

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

image2016-6-14%2014%3A32%3A53.png?versio

image2016-6-14%2014%3A35%3A59.png?versio


GitWeb权限问题

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

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

image2016-6-16%208%3A53%3A9.png?version=


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

 image2016-6-16%208%3A56%3A41.png?version

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

image2016-6-16%208%3A58%3A27.png?version


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

image2016-6-16%208%3A59%3A50.png?version


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










本文转自 曾哥最爱 51CTO博客,原文链接:http://blog.51cto.com/zengestudy/1789794,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
jenkins Java 持续交付
【项目集成工具】Jenkins
【项目集成工具】Jenkins
|
6月前
|
Cloud Native jenkins 持续交付
【云原生】使用PyCharm上传代码到Gitlab仓库并在Jenkins构建
【云原生】使用PyCharm上传代码到Gitlab仓库并在Jenkins构建
|
21天前
|
存储 网络安全 开发工具
Git的GUI图形化工具&ssh协议&IDEA集成Git
Git的GUI图形化工具&ssh协议&IDEA集成Git
111 0
|
8月前
|
Devops 数据安全/隐私保护 Docker
gitlab--集成 jfrog artifactory 制品库
gitlab--集成 jfrog artifactory 制品库
|
10月前
|
存储 Kubernetes jenkins
k8s初探(6)-Jenkins自动部署(2) 利用git软件向jenkins发送构建任务
k8s初探(6)-Jenkins自动部署(2) 利用git软件向jenkins发送构建任务
482 1
|
开发工具 git
Gitlab上手指南(八)|企业中常见的git规范介绍和husky+commitlint集成
俗话说,没有规矩不成方圆,我们的git也需要规范。 下面介绍一下企业常用的一些规范。 分支管理规范 分支命名不能千奇百怪,必须有统一的命名方式。主要有以下几种: 分支管理 命名规范 解释 master
923 0
|
运维 程序员 测试技术
Gitlab上手指南(二)|大多数企业为什么会使用Gitlab,Gitlab工作流是什么样的?
GitLab拥有与Github类似的功能,能够浏览源代码,管理缺陷和注释。可以管理团队对仓库的访问,它非常易于浏览提交过的版本并提供一个文件历史库
372 0
|
jenkins Devops 测试技术
Jenkins + Gitlab + Sonarqube 集成初体验
Jenkins + Gitlab + Sonarqube 集成初体验
280 0
Jenkins + Gitlab + Sonarqube 集成初体验
|
Java 开发工具 git
|
jenkins 测试技术 持续交付