Gerrit3.4.1安装使用

环境依赖jdk11

安装jdk11:

下载: wget https://download.java.net/openjdk/jdk11/ri/openjdk-11+28_linux-x64_bin.tar.gz
解压: 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 | 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

  1. Installing plugins 安装插件时候选择 Y
  2. http 端口注意修改(默认可不更改)
  3. 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  

浏览器访问:

安装its插件,目前插件列表没有its插件。

its插件下载地址:https://gerrit.googlesource.com/plugins/its-jira/

To build Gerrit Plugins from source, you need:

A Linux or macOS system (Windows is not supported at this time)

zip, unzip, wget

$yum install zip -y
$ yum install unzip -y
$ yum install wget -y
$ yum install git -y
Python 2 or 3
This is installed in each RHEL 7 and Ubunutu server by defaul.

Node.js

curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
OR
curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
sudo yum -y install nodejs
Bazel

## RHEL/CentOS 7 64-Bit ##
$ wget https://copr.fedorainfracloud.org/coprs/vbatts/bazel/repo/epel-7/vbatts-bazel-epel-7.repo
$ cp vbatts-bazel-epel-7.repo /etc/yum.repos.d/
$ yum install -y bazel
How to Installing Bazel on Ubuntu?
https://docs.bazel.build/versions/master/install-ubuntu.html

Maven

$ cd /opt
$ wget http://www-us.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.zip
$ unzip apache-maven-3.5.4-bin.zip
$ mv apache-maven-3.5.4 maven
$ export PATH=$PATH:/op/maven/bin
gcc

[code language=”text”]$ sudo yum install gcc-c++ make[/code]

Now, Bazel in tree driven means it can only be built from within Gerrit tree. Clone or link the plugin into gerrit/plugins directory:

# First become a non-root user

A JDK for Java 8

$ cd
$ wget -c --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz
$ tar -xvf jdk-8u181-linux-x64.tar.gz
$ export JAVA_HOME=/home/ec2-user/jdk1.8.0_181
$ java -version
Follow for Gerrit.war

$ git clone --recursive https://gerrit.googlesource.com/gerrit
$ cd gerrit 
$ bazel build release
Follow for plugins such as its-jira

$ cd plugins
$ git clone https://gerrit.googlesource.com/plugins/its-jira
$ git clone https://gerrit.googlesource.com/plugins/its-base
$ bazel build plugins/its-jira
The output can be normally found in the following directory:

bazel-genfiles/plugins/its-jira/its-jira.jar
# Some plugins describe their build process in src/main/resources/Documentation/build.md file. It may worth checking.

# Some plugins cane be build using maven as well

Reference

https://gerrit-review.googlesource.com/Documentation/dev-bazel.html
https://gerrit.googlesource.com/gerrit/
https://gerrit-review.googlesource.com/Documentation/cmd-plugin-install.html
https://gerrit-review.googlesource.com/Documentation/dev-build-plugins.html

Making Gerrit play nice with JIRA

提交代码报错:

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  [email protected] gerrit flush-caches --all

commentlink:https://gerrit-review.googlesource.com/Documentation/config-gerrit.html#commentlink

简单使用:

#创建文件
echo "abc" > 1.txt

#add
git add 1.txt

# commit
git commit -m "#1111 1.txt"

#更新
git pull origin master

#提交
git push origin HEAD:refs/for/master

功能介绍:

1、创建仓库:

 2、查看提交

3、code review

4、submit 

Good luck!

猜你喜欢

转载自blog.csdn.net/qq_15371293/article/details/128847501
今日推荐