灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:3287回复:0

Ubuntu下安装Gerrit

楼主#
更多 发布于:2012-08-27 15:04

Ubuntu下安装Gerrit
目标
配置Gerrit使用mysql数据库(原因:本人比较熟悉mysql)
使用http授权模式,使用apache反向代理。
SMTP使用163的个人邮箱
软件版本
Ubuntu 12.04
Gerrit 2.4.1
Apache 2.2.22
Mysql 5.5.24
下面好戏开始了
相信各位安装mysql和apache,都能搞定,sudo apt-get,完了。
配置数据库:
CREATE USER 'gerrit2'@'localhost' IDENTIFIED BY 'secret';
CREATE DATABASE reviewdb;
ALTER DATABASE reviewdb charset=latin1;
GRANT ALL ON reviewdb.* TO 'gerrit2'@'localhost';
FLUSH PRIVILEGES;
这是从官方文档得到的代码,其中我没有使用alter database reviewdb charset=latin1;这条语句。
网上有资料说utf8会无法安装,但俺没遇到。
但gerrit对中文的支持确实不好,所以大家尽量用英文吧。
安装Gerrit
java -jar gerrit-$version-rc1.war init -d review_site
然后一路回车就行,本人比较喜欢自己修改配置文件。
vi review_sit/etc/gerrit.config
[gerrit]
        basePath = git
        canonicalwebUrl = 192.168.1.254:8081
[database]
        type = MYSQL
        hostname = localhost
        database = reviewdb
        username = gerrit2
[auth]
        type = HTTP
[sendemail]
        smtpServer = smtp.163.com
        smtpUser = wangconglin87@163.com
        from = wangconglin87@163.com
[container]
        user = gerrit2
        javaHome = /opt/jdk1.7.0_05/jre
[sshd]  
        listenAddress = 192.168.1.254:29418
[httpd]
        listenUrl = proxy-http://192.168.1.254:8081
[cache]
        directory = cache
然后vi review_sit/etc/gerrit.config,下面的mima代表你的密码
[database]
        password = mima  //数据库用户gerrit2的密码
[sendemail]
        smtpPass = mima  //你邮箱的密码
然后配置apche
将/etc/apache2/sites-enabled目录下的文件都删除,(我是全新安装的)。
为什么删除,因为当我安装资料配置好以后,出现有时候能正常运行,有时候不能运行。让我郁闷了很长时间。这里面有一个默认的虚拟主机。
然后再/etc/apache2/sites-enabled目录下,vi proxy-gerrit,然后输入:
<VirtualHost *:80>
    ServerName a.wangconglin.cn
    ProxyRequests Off
    ProxyVia Off
    ProxyPreserveHost On
    <Proxy *>
          Order deny,allow
          Allow from all
    </Proxy>
    <Location /login/>
      AuthType Basic
      AuthName "Gerrit Code Review"
      Require valid-user
      AuthBasicProvider file
      AuthUserFile /home/gerrit2/passwords
    </Location>
    ProxyPass / http://192.168.1.254:8081/
    ProxyPassReverse / http://192.168.1.254:8081/
</VirtualHost>
上面的AuthUserFile /home/gerrit2/passwords,生成示例命令如下:
htpassword /home/gerrit2/passwords [username]
运行Gerrit:
/home/gerrit2/review_site/bin/gerrit.sh start -d /home/gerrit2/review_site
使用git push前,gerrit不允许直接覆盖git代码库中的任何分支,而是将变更推送到另一个refspce中。
git config remote.origin.push refs/heads/*:refs/for/*
git push origin
作者 王丛琳

喜欢0 评分0
游客

返回顶部