环境依赖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
安装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
浏览器访问:
提交代码报错:
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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。