1
头图

环境依赖jdk11 安装jdk11:

下载: wget https://download.java.net/openjdk/jdk11/ri/openjdk-11+28_linu...
解压: tar zxvf openjdk-11+28_linux-x64_bin.tar.gz
sudo update-alternatives --install /usr/bin/java java /home/jenkins/local/jdk-11/bin/java 2
sudo update-alternatives --config java,选择11对应的序号
查看版本号:java -version

Mac环境

/usr/libexec/java_home -V
image.png
image.png

安装Gerrit3.4.1

官网地址:Gerrit Code Review
创建目录: mkdir /demo && cd /demo/

下载:

wget https://gerrit-releases.storage.googleapis.com/gerrit-3.4.1.war

执行命令:

java -jar gerrit-3.4.1.war init -d gerrit_site

安装时候注意 ,是否安装插件选 Y

Installing plugins 安装插件时候选择 Y
http 端口注意修改(默认可不更改)
http url注意修改(访问地址)
查看配置文件: gerrit_site/etc/gerrit.config

[gerrit]
        basePath = git
        canonicalWebUrl = http://119.******1:9080/
        serverId = 4c1b3131-9bc2-48d8-90aa-1f647b925f8e
[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 = root
        javaHome = /opt/jdk-11
[index]
        type = lucene
[auth]
        type = LDAP
        gitBasicAuthPolicy = HTTP
[ldap]
        server = ldap://cas.demo.net
        username = cn=admin,dc=ldap,dc=example,dc=com
        accountBase = dc=ldap,dc=example,dc=com
        groupBase =  dc=ldap,dc=example,dc=com
[receive]
        enableSignedPush = true
[sendemail]
        smtpServer = localhost
[sshd]
        listenAddress = *:29418
[httpd]
        listenUrl = http://*:9080/
[cache]
        directory = cache
暂停:./gerrit_site/bin/gerrit.sh stop
启动:./gerrit_site/bin/gerrit.sh start

浏览器访问:
image.png

提交代码报错:

file is empty: .git/COMMIT_EDITMSG

解决办法: .git/hook/commit-msg

#!/bin/sh
# From Gerrit Code Review 3.1.4
#
# Part of Gerrit Code Review (https://www.gerritcodereview.com/)
#
# Copyright (C) 2009 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
 
# avoid [[ which is not POSIX sh.
if test "$#" != 1 ; then
  echo "$0 requires an argument."
  exit 1
fi
 
if test ! -f "$1" ; then
  echo "file does not exist: $1"
  exit 1
fi
 
# Do not create a change id if requested
if test "false" = "`git config --bool --get gerrit.createChangeId`" ; then
  exit 0
fi
 
# $RANDOM will be undefined if not using bash, so don't use set -u
random=$( (whoami ; hostname ; date; cat $1 ; echo $RANDOM) | git hash-object --stdin)
dest="$1.tmp.${random}"
 
trap 'rm -f "${dest}"' EXIT
 
if ! git stripspace --strip-comments < "$1" > "${dest}" ; then
   echo "cannot strip comments from $1"
   exit 1
fi
 
if test ! -s "${dest}" ; then
  echo "file is empty: $1"
  # exit 1
fi
 
# Avoid the --in-place option which only appeared in Git 2.8
# Avoid the --if-exists option which only appeared in Git 2.15
if ! git -c trailer.ifexists=doNothing interpret-trailers \
      --trailer "Change-Id: I${random}" < "$1" > "${dest}" ; then
  echo "cannot insert change-id line in $1"
  exit 1
fi
 
if ! mv "${dest}" "$1" ; then
  echo "cannot mv ${dest} to $1"
  exit 1
fi
清除缓存:ssh -p 29418 liuliu@x.0.x.x gerrit flush-caches --all

详细参考文档:https://blog.csdn.net/qq_15371293/article/details/128847501


liuxs
327 声望168 粉丝

匠心独运编程路


引用和评论

0 条评论