服务器直接安装Gerrit

安装及初始化gerrit

1、安装gitweb

apt install gitweb

2、初始化gerrit

一定要使用gerrit用户初始化,否则会出现权限问题

useradd -m -r -s /bin/bash gerrit
su - gerrit

#下载war后初始化
java -jar gerrit*.war init -d /data/gerrit_cmcc

java -jar gerrit*.war init --batch --dev -d /data/gerrit_cmcc

3、配置gerrit.conf

[gerrit]
        basePath = git
        canonicalWebUrl = http://jeejio.xxxx.com/
        serverId = e312b381-2658-4f4e-af07-453af2080ea9
[container]
        javaOptions = "-Dflogger.backend_factory=com.google.common.flogger.backend.log4j.Log4jBackendFactory#getInstance"
        javaOptions = "-Dflogger.logging_context=com.google.gerrit.server.logging.LoggingContext#getInstance"
        user = gerrit
        javaHome = /opt/jdk1.8.0_361/jre
[index]
        type = LUCENE
[auth]
        type = HTTP
[receive]
        enableSignedPush = false
[sendemail]
        enable = true
        smtpServer = smtp.126.com
        smtpEncryption = ssl
        smtpServerPort = 465
        smtpUser = qfeffef
        smtpPass = wwwww
        sslVerify = false
        from = Code Review <wfwf@126.com>
        connectTimeout = 50000
[sshd]
        listenAddress = *:29418
[httpd]
        listenUrl = http://*:8080/
[cache]
        directory = cache
[gitweb]
        type = gitweb
        cgi = /usr/lib/cgi-bin/gitweb.cgi

一定要注意:

  • gitweb.cgi的地址可能会变更,请使用find / -name gitweb.cgi查找到正确的地址后进行替换。
  • http://jeejio.xxxx.com/】的配置一定要使用http协议,不要使用https,否则会导致循环重定向

如果遇到没有root用户情况的时候,可以使用如下方式解决:

创建root用户

在当前界面下创建一个名为root的用户,如图所示:

2、点击admin进行登录后,交root用户添加以administrator的组

3、更改gerrit.config文件,将验证模式变更为http后,重新启动gerrit

nginx的配置

    server {
        listen       9006;
        server_name  gerrit.xxxx.com;

        location / {
            auth_basic "Welcomme to Gerrit Code Review Site!";
            auth_basic_user_file /opt/nginx/conf/gerrit.password;

            proxy_pass http://192.168.58.2:30808$request_uri;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
        }
    }

注意:上面的这个配置解决了gerrit的项目名中不能带斜杠的问题。

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注