Gerrit 使用简介

       Gerrit,一种免费、开放源代码的代码审查软件,使用网页界面。利用网页浏览器,同一个团队的软件程序员,可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改。它使用Git作为底层版本控制系统。 (from 百度百科)

Gerrit 审核系统搭建过程

创建gerrit2用户

$sudo useradd -m -d /home/gerrit2 -s /bin/bash gerrit2

$sudo su gerrit2

安装mysql以及java环境

略。apt-get

配置mysql

#mysql -u root –p
Mysql>
  #CREATE USER 'gerrit2'@'localhost' IDENTIFIED BY 'secret';
  #CREATE DATABASE reviewdb;
  #ALTER DATABASE reviewdb charset=latin1;
  #GRANT ALL ON reviewdb.* TO 'gerrit2'@'localhost';
  #FLUSH PRIVILEGES;

下载gerrit并进行初始化

$wget http://gerrit-releases.storage.googleapis.com/gerrit-2.7.war
$java -jar gerrit-2.7.war init -d review_site

参见http://www.infoq.com/cn/articles/Gerrit-jenkins-hudson/
Create '/home/gerrit2/review_site' [Y/n]? Y
Location of Git repositories   [git]:
Database server
type           [h2]: mysql

Gerrit Code Review is not shipped with MySQL Connector/J 5.1.21
**  This library is required for your configuration. **
Download and install it now [Y/n]? Y
Downloading
http://repo2.maven.org/maven2/mysql/mysql-connector-java/5.1.21/mysql-connector-java-5.1.21.jar
Checksum mysql-connector-java-5.1.21.jar OK
Server hostname               
[localhost]:
Server
port                   
[(mysql default)]:
Database
name                 
[reviewdb]:
Database
username             
[gerrit2]:
gerrit2's
password            
:  secret
             
confirm password :
SMTP server hostname          
[localhost]:
SMTP server
port              
[(default)]:
SMTP
encryption               
[NONE/?]:
SMTP
username                 
:
更具体是进行初始化

运行gerrit审核系统

$ ./review_site/bin/gerrit.sh start

登录gerrit审核系统官网

默认端口号:8080

修改gerrit界面颜色

默认情况下是纯白色的,不美观可以对
review_site/etc/gerrit.config 修改,然后重启服务,下面是一个颜色配置模板:

[theme]

backgroundColor = FCFEEF

textColor = 000000

trimColor = D4E9A9

selectionColor = FFFFCC

topMenuColor = D4E9A9

changeTableOutdatedColor = F08080

[theme
"signed-in"]

backgroundColor = FCFEEF

textColor = 000000

trimColor = D4E9A9

selectionColor = FFFFCC

topMenuColor = D4E9A9

changeTableOutdatedColor = F08080

更多信息,索引 https://gerrit-review.googlesource.com/Documentation/config-gerrit.html#_a_id_theme_a_section_theme

Gerrit 系统正常测试

  ssh -p 29418 username@webhost 测试gerrit是否正常运行,根据  http://www.infoq.com/cn/articles/Gerrit-jenkins-hudson/ 修改相关ssh配置,成功后会显示如下信息:
         

**** Welcome to Gerrit Code Review ****

 
  Hi demo, you have successfully connected over SSH.
 
  Unfortunately, interactive shells are disabled.
  To clone a hosted Git repository, use:
 
  git clone ssh://demo@localhost:29418/REPOSITORY_NAME.git
 
Connection to localhost closed.

Gerrit创建第一个项目

创建项目, 克隆病推送代码!

ssh -p 29418 admin@localhost gerrit create-project --name example.git

注意: 在gerrit系统上第一个注册的人自动成为管理员,只有管理员才有创建project权限

Github+gerrit+Jenkins(hudson) +redmine

职责:

GitHub is a resource for managing Git code repositories and interacting with other developers. Jenkins is used to continuously test all of the components of OpenStack to ensure functionality and to verify that each change to the code base works as intended. Gerrit is a code review system originally developed for use by the Android Open Source Project and allows us to build a workflow where every change is peer-reviewed and tested by Jenkins before being merged into the main repository.

工作流:

  1. developer checks out source from github.
  2. developer makes changes.
  3. developer pushes to gerrit.
  4. gerrit sends change notice to jenkins for integration test.
  • jenkins pulls changes directly from gerrit git server.
  • on pass, jenkins adds +1 to gerrit review, passes review to other developers.
  • on failure, jenkins adds -1 to gerrit review
  • pass/fail status pushed to redmine
  1. other developers review change, approve (+2)
  2. gerrit commits changes to github repository.
  • github hook notifies redmine of updates.
  • redmine pulls changes from github, parses commit messages for ticket information.
  1. developer fetchs changes from github ... back to 2. [EDIT]: we switched to pulling directly from gerrit. Github remains as a mirror for pulling production sources.

安装运行Jenkins

根据https://wiki.jenkins-ci.org/display/JENKINS/Gerrit+Trigger配置jenkins以及Gerrit

jenkins + github http://blog.csdn.net/john_cdy/article/details/7738393

java -jar jenkins.war --httpPort=$PORT --httpListenAddress=$HTTP_HOST

how to use jenkins: https://wiki.jenkins-ci.org/display/JENKINS/Use+Jenkins

http://fourkitchens.com/blog/2011/09/20/trigger-jenkins-builds-pushing-github

OpenStack 审核流程图:

Background

Available Links:

Jenkins 学习:http://www.cnblogs.com/itech/archive/2011/11/23/2260009.html

Gerrit 学习:http://ci.openstack.org/gerrit.html (介绍了OpenStack源代码开发维护更新流程!)

Gerrit introduction: http://gerrit-documentation.googlecode.com/svn/Documentation/2.6/intro-quick.html

Gerrit installation: http://gerrit.googlecode.com/svn/documentation/2.1.6/install.html

Git、Gerrit与Jenkins/Hudson CI服务器:

http://www.infoq.com/cn/articles/Gerrit-jenkins-hudson/

GerritJenkinsGithub: https://wiki.openstack.org/wiki/GerritJenkinsGithub

Ideas and Actions: https://groups.google.com/forum/#!msg/repo-discuss/rersrCtdEiY/usAodLofFo8J

Gerrit 工作流: https://wiki.openstack.org/wiki/GerritWorkflow

git diff 的用法:  http://blog.sina.com.cn/s/blog_40e9d4dd0100xi8p.html

git rebase用法: http://www.cnblogs.com/kym/archive/2010/08/12/1797937.html

Gerrit 安装:http://ci.openstack.org/gerrit.html

图解GIT:  http://nettedfish.sinaapp.com/blog/2013/08/05/deep-into-git-with-diagrams/

Gerrit 系统初探 (已转移到 https://steemit.com/gerrit/@linvictor88/gerrit )的更多相关文章

  1. Gerrit系统框架介绍

    Gerrit目录介绍 转自:https://blog.csdn.net/tanshizhen119/article/details/79889242 先上图 bin/ : 主要是放gerrit.sh启 ...

  2. [已转移]js事件流之事件冒泡的应用----事件委托

    该文章已转移到博客:https://cynthia0329.github.io/ 什么是事件委托? 它还有一个名字叫事件代理. JavaScript高级程序设计上讲: 事件委托就是利用事件冒泡,只指定 ...

  3. [已转移]IE事件流和DOM标准事件流的区别

    该文章已转移到博客:https://cynthia0329.github.io/ 1.执行的顺序不一样 冒泡型事件模型: button->div->body (IE事件流) 捕获型事件模型 ...

  4. [已转移]JavaScript事件---DOM事件流

    该文章已转移到博客:https://cynthia0329.github.io/ 事件发生时会在元素节点与根节点之间按照特定的顺序传播,路径所经过的所有节点都会收到该事件 这个传播过程即DOM事件流. ...

  5. 博客不再更新,已转移到自己的小站iwenku.net

    博客不再更新,已转移到自己的小站iwenku.net,欢迎访问! 博客不再更新,已转移到自己的小站iwenku.net,欢迎访问! 博客不再更新,已转移到自己的小站iwenku.net,欢迎访问! 博 ...

  6. 博客已转移至 http://blog.yemou.net/

    博客已转移至 http://blog.yemou.net/ , 该网站是一家更加专业的网站,欢迎大家过去交流

  7. 【重要通知】本人所有技术文章转移至https://zzqcn.github.io

    本人所有技术文章转移至 https://zzqcn.github.io

  8. Linux系统初探过程总结

    Linux系统初探的过程大约用了一周的时间,这周基本将Linux系统安装,PostgreSQL安装,Nginx服务器安装,ASP.NET Core应用部署都走了一遍.由于以前没有怎么接触和使用过Lin ...

  9. 金蝶K3,名称或代码在系统中已被使用,由于数据移动,未能继续以NOLOCK方式扫描

    使用金蝶K3时出现:名称或代码在系统中已被使用:错误代码:3604(E14H)source:Microsoft OLE DB provider for SQL SERVERDetail:由于数据移动, ...

随机推荐

  1. MissingNumber缺失的数字,FirstMissingPositive第一个缺失的正数

    MissingNumber问题描述:给定一个数组,数组数字范围是0-n,找到缺失的数字.例如nums={0,1,3},return2. 算法分析:第一种方法,对数组进行排序,然后找到和下标不一致的数字 ...

  2. 201621123006 《Java程序设计》第8周学习总结

    1. 本周学习总结 以你喜欢的方式(思维导图或其他)归纳总结集合相关内容. 2. 书面作业 ArrayList代码分析 1.1 解释ArrayList的contains源代码 源代码如下: 由源代码可 ...

  3. Windows 10 安装 Docker

    下载Docker For Windows 地址:https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.ex ...

  4. PyalgoTrade 交易(五)

    我们继续采取简单的策略,这次模拟实际交易.这个想法很简单: 如果调整后的收盘价高于SMA(15),我们将进入多头仓位(我们下单买入市价). 如果调整后的收盘价低于SMA(15),我们退出多头头寸(我们 ...

  5. Nginx下载和安装与启动

    nginx是什么 nginx是一个开源的,支持高性能,高并发的www服务和代理服务软件.它是一个俄罗斯人lgor sysoev开发的,作者将源代码开源出来供全球使用. nginx比它大哥apache性 ...

  6. C# 空合并操作符(??)不可重载?其实有黑科技可以间接重载!

    ?? 操作符叫做 null-coalescing operator,即 null 合并运算符.如果此运算符的左操作数不为 null,则此运算符将返回左操作数:否则返回右操作数. 在微软的官方 C# 文 ...

  7. 老爷机iphone4s 9.2.1降级6.1.3

    原帖见威锋网 sunnyskyline 2017年1月10日发的贴. 本文中加了一些我自己的情况,也是一知半解,抛砖引玉吧. 首先进行备份.进行备份.进行备份. 感谢大神@极端阴险 感谢@shuaig ...

  8. 【thrift】什么是rpc

  9. MySQL binlog日志优化

    mysql中日志类型有慢查询日志,二进制日志,错误日志,默认情况下,系统只打开错误日志,因为开启日志会产生较大的IO性能消耗.   一般情况下,生成系统中很少打开二进制日志(bin log),bin ...

  10. 中兴 F412 超级帐号telecomadmin破解(适用2015版h啊RowCount="0") TEWA-300AI EPON TEWA-500AI EPON破解

    1.telnet 192.168.1.1 root/Zte521    有些密码也是root 2.输入sendcmd 1 DB p UserInfo 老本大多数教程会返回超级管理员帐号密码: < ...