Androidの下の配置管理の道のgerritコードサーバー構築


Androidの下の配置管理の道のgerritコードサーバー構築
gerritコードサーバ構築Version v 2.11.5
一般的にgerritのドキュメントを参考にすればいいです.以下のほとんどはドキュメントで、いくつかの注意点、いくつかのツールの選択取捨選択などがリストされています.
必要な環境
jdk、gitなどの関連ツールgerritはjava webアプリケーションであるため、java実行時環境は少なくなく、jdkやjreをインストールしてもよい.gerritはgitに基づいてコードを管理するのでgitも少なくない.馬兄の宝を洗う店:馬兄の私房料理https://shop592330910.taobao.com/
    :
sudo apt-get install openjdk-7-jdk  git

#     sudo apt-get install openjdk-7-*  git,
#              ,         ,       。
# tab      ,        。
	#openjdk-7-dbg           
	#openjdk-7-doc           
	#openjdk-7-jre           
	#openjdk-7-jre-lib       
	#openjdk-7-source                                                    
	#openjdk-7-demo          
	#openjdk-7-jdk           
	#openjdk-7-jre-headless  
	#openjdk-7-jre-zero 

またはjdk 8を用いる.ubuntu 16はjdk 8を使用できます.
sudo apt-get install openjdk-8-jdk  git


最新のgerritは基本的にjdk 1が必要です.7またはjdk 1.8になりました.jdkまたはjreのjava環境は可能です.馬兄の宝を洗う店:馬兄の私房料理https://shop592330910.taobao.com/gerritのインストールパッケージgerritをダウンロードします.warパッケージ.Gerrit Releases site.https://gerrit-releases.storage.googleapis.com/index.html
最新バージョンは2.14です(更新もあるかもしれませんが、文章の更新が遅れているかもしれません).
オペレーティングシステムは一般的にubuntuを用いるが、現在の2017年にはubuntu 16を用いる.04 serverバージョンがベストです.
jdk 8がインストールできないシステムがありますが、どうすればいいですか?ubuntu 14.04のようにjdk 8をインストールすることはできません.以下のようにします.
sudo apt-get update
sudo apt-get install -y openjdk-7-jdk

#   openjdk:
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-7-jdk
sudo apt-get install openjdk-8-*
sudo apt-get install openjdk-7-*

#    oracle jdk:
#To install the oracle JDK, use the following command – 
sudo add-apt-repository ppa:webupd8team/java

#      jdk:
sudo update-alternatives --config java
sudo update-alternatives --config javac

#apt     : /var/cache/apt/archives/

データベースの設定
gerritはh 2,mysql,oracle,postgresqlなどのいくつかのデータベースをサポートします
  • H2

  • h 2タイプのデータベースを選択すると、追加のインストールも構成も必要ありません.このデータベースはjava実装のローカルデータベースです.一般的な会社ではこれをお勧めしませんが、直接テストして勉強してみてください.特に大手企業では、このタイプのデータベースは推奨されていません.推奨されないのは、gerritが先に実行を停止しない限り、データベースと対話する簡単な方法がないことです.すなわちgerritは,実行状態ではこのh 2型のデータベースに直接アクセスする方法がない.もちろんだcom gerrit gsqlというコマンドは別です.馬兄の宝を洗う店:馬兄の私房料理https://shop592330910.taobao.com/推奨しないのは、データのバックアップが容易ではないためです.最後に推奨されない理由は、ロード・バランシング、ホット・バックアップなどがサポートされていないためです.
  • PostgreSQL

  • これはとてもお勧めのデータベースです.これは単独でインストールする必要があります.sudo apt-get install postgresqlでいいです.あるいはマゴは一般的にphppgadminをインストールすることに慣れていて、このようにapacheがあって、データベースを管理して、インタフェースのソフトウェアもあって、とても便利です.gerrit Webアプリケーションで使用されるデータベースのロールまたはアカウントを作成する必要があります.次のコマンドは、一般的にpostgresというlinuxアカウントの下に切り替えてsudo su postgresを実行する必要があります.
    $ createuser --username=postgres -RDIElPS gerrit2   
    #              ,   $            , linux       
    #                :gerrit2@gerrit-master:~$ 
      
    $ createdb --username=postgres -E UTF-8 -O gerrit2 reviewdb     
    #          reviewdb    ,  gerrit2    。
    

    馬兄の宝を洗う店:馬兄の私房料理https://shop592330910.taobao.com/postgresqlデータベースの詳細については、公式サイトにアクセスしてください.http://www.postgresql.org/docs/9.1/interactive/index.html
    補足:phppgadminのインストールが完了した後、直接アクセスするとエラーが発生し、プロファイル/etc/apache 2/conf-available/phppgadminを変更する必要があります.confファイルのRequire localallow from allに変更
    buildfarm@gerrit-tags:~$ cat /etc/apache2/conf-available/phppgadmin.conf 
    Alias /phppgadmin /usr/share/phppgadmin
    
    
    
    
    DirectoryIndex index.php
    
    AllowOverride None
    
    # Only allow connections from localhost:
    #Require local
    allow from all
    
    
      php_flag magic_quotes_gpc Off
      php_flag track_vars On
      #php_value include_path .
    
    
      
        
          AddType application/x-httpd-php .php
          Action application/x-httpd-php /cgi-bin/php
        
        
          AddType application/x-httpd-php .php
          Action application/x-httpd-php /cgi-bin/php
        
      
    
    
    
    

    3.MySQL
    これもとてもお勧めのデータベースですこれも個別にインストールする必要がありますが、
    sudo apt-get install mysql-client mysql-server
    

    マゴのおすすめのインストールは
    sudo apt-get install mysql-client mysql-server phpmyadmin
    

    ここにmysqlデータベースの管理ソフトウェアを1つ追加します.便利で、インタフェース付きで、ブラウザでmysqlデータベースを管理します.データベースの作成、ロールの作成、パスワードの設定、クエリー、変更はブラウザで行うことができ、非常に便利です.馬兄の宝を洗う店:馬兄の私房料理https://shop592330910.taobao.com/
      mysql         (         mysql    ):
    
      CREATE USER 'gerrit2'@'localhost' IDENTIFIED BY 'secret';   #      mysql   
      CREATE DATABASE reviewdb;
      GRANT ALL ON reviewdb.* TO 'gerrit2'@'localhost';    #     ,   reviewdb
      FLUSH PRIVILEGES;                      #      ,     。
    

    もちろん上のコマンドはphpmyadminでブラウザで直接操作できます.
    4.Oracleというデータベースもとても良いですが、マゴ本人は使ったことがなく、あまり何も言いません.会社で最もよく使われているのはmysqlとpostgresqlの2つのデータベースです.私はいくつかの会社で持ってきたことがありますが、基本的にはmysqlとpostgresqlを使っています.oracleはお金が必要ですよね?!
    SQL> create user gerrit2 identified by secret_password default tablespace users;                        gerrit2       。
    SQL> grant connect, resources to gerrit2;
    

    データの作成方法は公式ドキュメントには紹介されていないようです.一般的なOracleデータベース(Oracle Database)は、インスタンス(Instance)とデータベース(Database)の2つのセクションに分けられます.
    SQL> create database reviewdb   #     ,    ,            。        ,    。
    

    ファイル$site_にInstanceを設定する必要があります.path/etc/gerrit.config:
    [database]
            type = oracle
            instance = xe
            hostname = localhost
            username = gerrit2
            port = 1521
    

    データベースはアカウントを作成したのではないでしょうか.アカウントにはパスワードがありますが、このパスワードはどのようにgerrit webに構成されていますか?パスワードはこのファイルに$site_path/etc/secure.config:マゴの淘宝店:マゴのプライベートルーム料理https://shop592330910.taobao.com/
    [database]
            password = secret_pasword
    

    5.SAP MaxDB
    このデータベースはマゴ本人は使ったことがなくて、多くなくて、みんなは自分でGerritを実行してMaxDBデータベースを実行することしかできなくて、あなたはMaxDB JDBC driverが必要かもしれません.関連するデータベースドライバのjarパッケージは、Windowsでのパスが一般的に「C:Program FilessdbMaxDBruntimejarsapdbc.jar」でlinuxでのパスが一般的に「/opt/sdb/MaxDB/runtime/jar/sapdbc.jar」である可能性があります.
    プロファイル$site_path/etc/gerrit.config:
    [database]
            type = maxdb
            database = reviewdb
            hostname = localhost
            username = gerrit2
    

    パスワードプロファイル$site_path/etc/secure.config:
    [database]
            password = 
    

    上記のgerritに必要なデータベースです.
    一般的なデータベースに関する構成は、ファイル$site_path/etc/gerrit.configとファイル$site_path/etc/secure.config. 馬兄の宝を洗う店:馬兄の私房料理https://shop592330910.taobao.com/
    gerritの初期化
    1.まずlinuxのシステムアカウントを追加し、gerrit webをこのroot以外のアカウントの下で実行させると、より安全になります.この口座にもパスワードを設定しないでください.adduserを実行してシステムアカウントを追加し、このアカウントにパスワードを設定する必要はありません.一般的なマゴはシステムをインストールした後、sudo権限のアカウントを作成します.名前:mage.
      sudo adduser gerrit2
    

    馬兄の宝を洗う店:馬兄の私房料理https://shop592330910.taobao.com/
    2.gerrit 2というlinuxシステムアカウントに切り替えます.パスワードは必要ありません.私は一般的にsudo suを使ってアカウントの下に切り替えます.
      sudo su gerrit2
    

    3.initコマンドの実行
      java -jar gerrit.war init -d /path/to/your/gerrit_application_directory
    

    一般的に/home/gerrit 2/review_にインストールsiteというパスの下には、公式ドキュメントで与えられたパスがあります.もちろん他のパスにインストールすることもできます.例えば/var/lib/gerrit 2のように、あまり勝手にパスを探さないように注意してください.このパスをお勧めします:/home/gerrit 2/review_site. 一般的なこの経路はgerrit 2というシステムアカウントのホームディレクトリです.
      java -jar gerrit.war init -d /home/gerrit2/review_site
    

    一歩一歩関連する内容を入力するようにヒントを与えます.初期化してから、これらの構成を変更することができます.gerritの主な構成はファイル'$site_です.path/etc/gerrit.config’では、
    馬兄の宝を洗う店:馬兄の私房料理https://shop592330910.taobao.com/
    マゴ自身の配置をください.
    gerrit2@gerrit-master:~/review_site$ cat etc/gerrit.config 
    [gerrit]
        basePath = git  # git        ,       ,  /home/gerrit2/review_site/git。
        canonicalWebUrl = http://gerrit.xxx.com:8080/ #   gerrit web url,    8080  。
    [database]
        type = postgresql
        hostname = localhost
        database = reviewdb
        username = gerrit2
        poolMinIdle = 4
        poolMaxIdle = 10
        poolLimit = 128
        poolMaxWait = 10s
    [index]
        type = LUCENE
    [auth]
        type = LDAP
    [ldap]
        server = ldap://AD01.xxx.com
        username = ldapuser
        accountBase = DC=xxx,DC=com
        groupBase = DC=xxx,DC=com
        localUsernameToLowerCase = true  #      ,       ,     ,        。
    [sendemail]
        enable = true
        smtpServer = ip
        smtpUser = [email protected]
        from = [email protected]
    [container]
        user = gerrit2
        javaHome = /usr/lib/jvm/java-8-openjdk-amd64/jre
        heapLimit=100g
    [sshd]
        listenAddress = *:29418 #ssh     ,        
        threads = 112
        batchThreads = 16
        streamThreads = 20
        commandStartThreads = 6
        maxConnectionsPerUser = 32
    [httpd]
        listenUrl = http://*:8080/
    [cache]
        directory = cache
    [theme]
        backgroundColor = FCFEEF
        textColor = 000000
        trimColor = D4E9A9
        selectionColor = FFFFCC
        topMenuColor = D4E9A9
        changeTableOutdatedColor = F08080
    [theme "signed-in"]
        backgroundColor = FFFFFF
    
    [commentlink "jira"]
        match = \\[([A-Z]+-[0-9]+)\\]
        link = http://jira.xxx.com/browse/$1  #     jira    
    
    [cache "web_sessions"]
        maxAge = 1 week
    
    [gitweb]
        type = custom
        linkname = gitiles
        url = /plugins/gitiles/
        revision = ${project}/+/${commit}
        project = ${project}
        roottree = ${project}
        branch = ${project}/+/${branch}
        filehistory = ${project}/+log/${branch}/${file}
        file = ${project}+${commit}/${file}
    
    
    

    パスワードに関するプロファイルを次に示します.
    gerrit2@gerrit-master:~/review_site$ cat etc/secure.config 
    [database]
        password = xxxxx
    [auth]
        registerEmailPrivateKey = xxx
        restTokenPrivateKey = xx
    [ldap]
        password = xxxx
    [sendemail]
        smtpPass = xxxx
    
    

    初期化が完了するとgerrit webアプリケーションを起動できます
    次のコマンドを実行すればいいので、簡単です.shスクリプト
    review_site/bin/gerrit.sh start
    review_site/bin/gerrit.sh stop
    review_site/bin/gerrit.sh restart
    

    馬兄の宝を洗う店:馬兄の私房料理https://shop592330910.taobao.com/
    gerritサービスを開始すると起きられない可能性が高い.この時私たちはreviewを見に行かなければなりません.site/logs/次のエラーログファイルです.
    cat  review_site/logs/error_log
    
      
    
    tail -f review_site/logs/error_log
    

    起動したログはこのように見えます
    [2017-08-15 09:19:33,250] [plugin-manager-preloader] INFO  com.googlesource.gerrit.plugins.manager.OnStartStop : 57 plugins successfully pre-loaded
    [2017-08-15 09:22:56,169] [ShutdownCallback] INFO  com.google.gerrit.pgm.Daemon : caught shutdown, cleaning up
    [2017-08-15 09:22:56,205] [ShutdownCallback] INFO  org.eclipse.jetty.server.AbstractConnector : Stopped ServerConnector@29174dfe{HTTP/1.1,[http/1.1]}{0.0.0.0:8081}
    [2017-08-15 09:22:56,207] [ShutdownCallback] INFO  org.eclipse.jetty.server.handler.ContextHandler : Stopped o.e.j.s.ServletContextHandler@49f41c2e{/,null,UNAVAILABLE}
    [2017-08-15 09:22:56,209] [ShutdownCallback] INFO  com.google.gerrit.sshd.SshDaemon : Stopped Gerrit SSHD
    [2017-08-15 09:23:11,656] [main] INFO  org.eclipse.jetty.util.log : Logging initialized @6446ms
    [2017-08-15 09:23:11,710] [main] INFO  com.google.gerrit.server.git.LocalDiskRepositoryManager : Defaulting core.streamFileThreshold to 439m
    [2017-08-15 09:23:12,573] [main] INFO  com.google.gerrit.server.plugins.PluginLoader : Loading plugins from /var/gerrit/plugins
    [2017-08-15 09:23:12,617] [main] INFO  com.google.gerrit.server.plugins.PluginLoader : Loaded plugin avatars-gravatar, version ab2ff52
    [2017-08-15 09:23:12,639] [main] INFO  com.google.gerrit.server.plugins.PluginLoader : Loaded plugin commit-message-length-validator, version v2.14.1
    [2017-08-15 09:23:12,686] [main] INFO  com.google.gerrit.server.plugins.PluginLoader : Loaded plugin delete-project, version v2.13-13-gd9f1d5f
    [2017-08-15 09:23:12,731] [main] INFO  com.google.gerrit.server.plugins.PluginLoader : Loaded plugin download-commands, version v2.14.1
    [2017-08-15 09:23:12,766] [main] INFO  com.google.gerrit.server.config.PluginConfigFactory : No /var/gerrit/etc/gitiles.config; assuming defaults
    [2017-08-15 09:23:12,790] [main] INFO  com.google.gerrit.server.plugins.PluginLoader : Loaded plugin gitiles, version d983e33
    [2017-08-15 09:23:12,845] [main] INFO  com.google.gerrit.server.plugins.PluginLoader : Loaded plugin hooks, version v2.14.1
    [2017-08-15 09:23:12,905] [plugin-manager-preloader] INFO  com.googlesource.gerrit.plugins.manager.OnStartStop : Start-up: pre-loading list of plugins from registry
    [2017-08-15 09:23:12,906] [main] INFO  com.google.gerrit.server.plugins.PluginLoader : Loaded plugin plugin-manager, version v2.14-2-g1a2fc03
    [2017-08-15 09:23:12,973] [main] WARN  com.googlesource.gerrit.plugins.replication.ReplicationFileBasedConfig : Config file /var/gerrit/etc/replication.config does not exist; not replicating
    [2017-08-15 09:23:12,974] [main] INFO  com.google.gerrit.server.plugins.PluginLoader : Loaded plugin replication, version v2.14.1
    [2017-08-15 09:23:13,001] [main] INFO  com.google.gerrit.server.plugins.PluginLoader : Loaded plugin reviewnotes, version v2.14.1
    [2017-08-15 09:23:13,018] [main] INFO  com.google.gerrit.server.plugins.PluginLoader : Loaded plugin singleusergroup, version v2.14.1
    [2017-08-15 09:23:13,074] [main] INFO  com.google.gerrit.server.plugins.PluginLoader : Loaded plugin uploadvalidator, version 5a674b7
    [2017-08-15 09:23:13,076] [main] INFO  com.google.gerrit.server.change.ChangeCleanupRunner : Ignoring missing changeCleanup schedule configuration
    [2017-08-15 09:23:13,092] [main] INFO  com.google.gerrit.sshd.SshDaemon : Started Gerrit SSHD-CORE-1.4.0 on *:29418
    [2017-08-15 09:23:13,094] [main] INFO  org.eclipse.jetty.server.Server : jetty-9.3.17.v20170317
    [2017-08-15 09:23:13,641] [main] INFO  com.googlesource.gerrit.plugins.gitiles.HttpModule : No /var/gerrit/etc/gitiles.config; assuming defaults
    [2017-08-15 09:23:13,896] [main] INFO  org.eclipse.jetty.server.handler.ContextHandler : Started o.e.j.s.ServletContextHandler@1774c4e2{/,null,AVAILABLE}
    [2017-08-15 09:23:13,904] [main] INFO  org.eclipse.jetty.server.AbstractConnector : Started ServerConnector@32fd5bc{HTTP/1.1,[http/1.1]}{0.0.0.0:8081}
    [2017-08-15 09:23:13,904] [main] INFO  org.eclipse.jetty.server.Server : Started @8695ms
    [2017-08-15 09:23:13,905] [main] INFO  com.google.gerrit.pgm.Daemon : Gerrit Code Review 2.14.1 ready
    

    起動の成功の鍵は最後の一言を見ることです:馬兄の宝を洗う店:馬兄の私房料理https://shop592330910.taobao.com/
    [2017-08-15 09:23:13,905] [main] INFO  com.google.gerrit.pgm.Daemon : Gerrit Code Review 2.14.1 ready
    

    エラー・ログは次のように表示されます.
    [2017-08-15 08:53:20,516] [HTTP-75] ERROR com.google.gerrit.server.auth.ldap.LdapRealm : Cannot query LDAP to authenticate user
    javax.naming.CommunicationException: 10.0.64.234:389 [Root exception is java.net.ConnectException:      (Connection timed out)]
    	at com.sun.jndi.ldap.Connection.(Connection.java:226)
    	at com.sun.jndi.ldap.LdapClient.(LdapClient.java:137)
    	at com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1615)
    	at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2749)
    	at com.sun.jndi.ldap.LdapCtx.(LdapCtx.java:319)
    	at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:192)
    	at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:210)
    	at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:153)
    	at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:83)
    	at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684)
    	at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313)
    	at javax.naming.InitialContext.init(InitialContext.java:244)
    	at javax.naming.InitialContext.(InitialContext.java:216)
    	at javax.naming.directory.InitialDirContext.(InitialDirContext.java:101)
    	at com.google.gerrit.server.auth.ldap.Helper.open(Helper.java:135)
    	at com.google.gerrit.server.auth.ldap.LdapRealm.authenticate(LdapRealm.java:234)
    	at com.google.gerrit.server.account.AccountManager.authenticate(AccountManager.java:111)
    	at com.google.gerrit.httpd.auth.ldap.LdapLoginServlet.doPost(LdapLoginServlet.java:122)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    	at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:286)
    	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:276)
    	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:181)
    	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85)
    	at com.google.gerrit.httpd.raw.StaticModule$PolyGerritFilter.doFilter(StaticModule.java:483)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
    	at com.google.gerrit.httpd.GetUserFilter.doFilter(GetUserFilter.java:75)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
    	at com.google.gerrit.httpd.UniversalWebLoginFilter.doFilter(UniversalWebLoginFilter.java:74)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
    	at com.google.gerrit.httpd.RunAsFilter.doFilter(RunAsFilter.java:111)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
    	at com.google.gwtexpui.server.CacheControlFilter.doFilter(CacheControlFilter.java:70)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
    	at com.google.gerrit.httpd.RequestMetricsFilter.doFilter(RequestMetricsFilter.java:57)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
    	at com.google.gerrit.httpd.AllRequestFilter$FilterProxy$1.doFilter(AllRequestFilter.java:133)
    	at com.google.gerrit.httpd.AllRequestFilter$FilterProxy.doFilter(AllRequestFilter.java:135)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
    	at com.google.gerrit.httpd.RequestContextFilter.doFilter(RequestContextFilter.java:72)
    	at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
    	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120)
    	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:135)
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)
    	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582)
    	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:224)
    	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
    	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
    	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
    	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
    	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    	at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:56)
    	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
    	at org.eclipse.jetty.server.Server.handle(Server.java:534)
    	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
    	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
    	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
    	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
    	at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
    	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
    	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
    	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
    	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
    	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
    	at java.lang.Thread.run(Thread.java:748)
    Caused by: java.net.ConnectException:      (Connection timed out)
    	at java.net.PlainSocketImpl.socketConnect(Native Method)
    	at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    	at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    	at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    	at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    	at java.net.Socket.connect(Socket.java:589)
    	at java.net.Socket.connect(Socket.java:538)
    	at java.net.Socket.(Socket.java:434)
    	at java.net.Socket.(Socket.java:211)
    	at com.sun.jndi.ldap.Connection.createSocket(Connection.java:363)
    	at com.sun.jndi.ldap.Connection.(Connection.java:203)
    	... 65 more
    
    
    
    

    エラーの種類が多いので、一般的には具体的に分析しなければなりません.あとで出会ったことがあったらまた記録しておきましょう.馬兄の宝を洗う店:馬兄の私房料理https://shop592330910.taobao.com/
    このエラーが発生した場合、reindexがコマンドjava -jar /home/gerrit2/review_site/bin/gerrit.war reindexを実行する必要があります.
    [2017-12-26 10:25:49,111] [main] ERROR com.google.gerrit.pgm.Daemon : Unable to start daemon
    com.google.inject.ProvisionException: Unable to provision, see the following errors:
    
    1) No index versions for index 'accounts' ready; run java -jar /home/gerrit2/review_site/bin/gerrit.war reindex --index accounts
    
    1 error
    	at com.google.gerrit.server.index.VersionManager.initIndex(VersionManager.java:161)
    	at com.google.gerrit.server.index.VersionManager.start(VersionManager.java:92)
    	at com.google.gerrit.lifecycle.LifecycleManager.start(LifecycleManager.java:92)
    	at com.google.gerrit.pgm.Daemon.start(Daemon.java:349)
    	at com.google.gerrit.pgm.Daemon.run(Daemon.java:256)
    	at com.google.gerrit.pgm.util.AbstractProgram.main(AbstractProgram.java:61)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at com.google.gerrit.launcher.GerritLauncher.invokeProgram(GerritLauncher.java:203)
    	at com.google.gerrit.launcher.GerritLauncher.mainImpl(GerritLauncher.java:108)
    	at com.google.gerrit.launcher.GerritLauncher.main(GerritLauncher.java:63)
    	at Main.main(Main.java:24)
    

    馬兄の宝を洗う店:馬兄の私房料理https://shop592330910.taobao.com/POSTの設定が可能
    #        /etc/init.d/  
    sudo ln -snf `pwd`/review_site/bin/gerrit.sh /etc/init.d/gerrit
    
    #        /etc/rc3.d/  ,     update-rc.d      。
    sudo ln -snf /etc/init.d/gerrit /etc/rc3.d/S90gerrit`
    

    gerritその他のカスタマイズ設定
    1.Reverse Proxyリバースエージェント設定、80ポートから8080ポートapacheのリバースエージェント設定、8080ポートから80ポートにリダイレクト可能
    上にデータをインストールするとき、マゴはphpmyadminとphppgadminという2つの管理ツールをお勧めします.このツールをインストールするとapache 2がインストールされます.特にこのようなインストールをお勧めします.apache 2もインストールされ、データベースもインストールされています.
    sudo apt-get install apache2     apache2   
    sudo a2enmod proxy        #          ,    apache           
    sudo a2enmod proxy_http
    

    ファイル/etc/apache 2/sites-availableに数行追加
    
    	ServerAdmin webmaster@localhost
    	ServerName ci.company.com
    	ServerAlias ci
    	ProxyRequests Off
    	
    		Order deny,allow
    		Allow from all
    	
    	
    	#     3 ,       ,      ,             。
    	ProxyPreserveHost on
    	ProxyPass / http://your.gerrit.url.com:8080/ nocanon
    	AllowEncodedSlashes NoDecode
    
    
    

    このファイルを保存してapache 2サービスを再起動します.
  • 個のgitweb
  • をインストールできます.
    sudo apt-get install gitweb
    

    あるいはgitilesをインストールして、これは比較的に使いやすくて、グーグル自身もこのプラグインを使っています.
    gerritプラグインはこのサイトでダウンロードできますhttps://gerrit-ci.gerritforge.com/
    http://archive-ci.gerritforge.com/job/プラグインのアドレスを探します.
  • システムに不要なパッケージを削除https://peteris.rocks/blog/can-you-kill-it/
  • sudo apt remove lvm2 -y --purge
    sudo apt remove at -y --purge
    sudo apt remove snapd -y --purge
    sudo apt remove open-iscsi -y --purge
    sudo apt remove dbus -y --purge
    sudo apt remove accountsservice -y --purge
    sudo apt remove mdadm -y --purge
    sudo apt remove policykit-1 -y --purge
    sudo apt remove lxcfs -y --purge
    
    
    
    
    
    
    

    gerritアップグレード
    gerrit      2.11.5  。
    
    2.11.5 ->  2.11.11                。          。        。
    
    2.11.11  -> 2.12           ,      。    。
    
    gerrit2@gerrit-master:~/review_site$ java -jar gerrit-2.12.war init -d /home/gerrit2/review_site
    Using secure store: com.google.gerrit.server.securestore.DefaultSecureStore
    
    *** Gerrit Code Review 2.12
    *** 
    
    
    Installing plugins.
    Install plugin singleusergroup version v2.12 [y/N]? y
    Install plugin commit-message-length-validator version v2.12 [y/N]? y
    Install plugin reviewnotes version v2.12 [y/N]? y
    Install plugin replication version v2.12 [y/N]? y
    Install plugin download-commands version v2.12 [y/N]? y
    Initializing plugins.
    No plugins found with init steps.
    
    Upgrading schema to 108 ...
    Upgrading schema to 109 ...
    Upgrading schema to 110 ...
    Upgrading schema to 111 ...
    Upgrading schema to 112 ...
    Upgrading schema to 113 ...
    Upgrading schema to 114 ...
    Upgrading schema to 115 ...
    Migrating data to schema 108 ...
    Listing all changes ...
    Detected open changes referring to the following non-existent projects:
    
    It is highly recommended to remove
    the obsolete open changes, comments and patch-sets from your DB.
    
    done
    Updating groups for open changes ...
    done
    Migrating data to schema 109 ...
    Migrating data to schema 110 ...
    Migrating data to schema 111 ...
    Migrating data to schema 112 ...
    Migrating data to schema 113 ...
    Migrating data to schema 114 ...
    Migrating data to schema 115 ...
    Execute the following SQL to drop unused objects:
    
      DROP TABLE account_diff_preferences;
      DROP TABLE patch_set_ancestors;
      ALTER TABLE accounts DROP COLUMN contact_filed_on;
    
    Execute now [Y/n]? Y
    Initialized /home/gerrit2/review_site
    
    gerrit2@gerrit-master:~/review_site$ bin/gerrit.sh start
    Starting Gerrit Code Review: OK
    
    
    2.11.11  -> 2.12.8
    
    
    
    
    *** Gerrit Code Review 2.12.8
    *** 
    
    
    Initializing plugins.
    No plugins found with init steps.
    
    Upgrading schema to 108 ...
    Upgrading schema to 109 ...
    Upgrading schema to 110 ...
    Upgrading schema to 111 ...
    Upgrading schema to 112 ...
    Upgrading schema to 113 ...
    Upgrading schema to 114 ...
    Upgrading schema to 115 ...
    Migrating data to schema 108 ...
    Listing all changes ...
    Detected open changes referring to the following non-existent projects:
    
    It is highly recommended to remove
    the obsolete open changes, comments and patch-sets from your DB.
    
    done
    Updating groups for open changes ...
    done
    Migrating data to schema 109 ...
    Migrating data to schema 110 ...
    Migrating data to schema 111 ...
    Migrating data to schema 112 ...
    Migrating data to schema 113 ...
    Migrating data to schema 114 ...
    Migrating data to schema 115 ...
    Execute the following SQL to drop unused objects:
    
      DROP TABLE account_diff_preferences;
      DROP TABLE patch_set_ancestors;
      ALTER TABLE accounts DROP COLUMN contact_filed_on;
    
    Execute now [Y/n]? Y
    Initialized /home/gerrit2/review_site
    
    2.11.5  ->  2.13    。    sshkey   All-users.git    
    
    
    *** Gerrit Code Review 2.13
    *** 
    
    
    
    Upgrading schema to 120 ...
    Upgrading schema to 121 ...
    Upgrading schema to 122 ...
    Upgrading schema to 123 ...
    Upgrading schema to 124 ...
    Upgrading schema to 125 ...
    Upgrading schema to 126 ...
    Upgrading schema to 128 ...
    Upgrading schema to 129 ...
    Migrating data to schema 120 ...
    Generating Superproject subscriptions table to submodule ACLs
    Migrating data to schema 121 ...
    Migrating data to schema 122 ...
    Migrating data to schema 123 ...
    Updating references:    100% (520/520)
    Migrating data to schema 124 ...
    Migrating data to schema 125 ...
    Migrating data to schema 126 ...
    Migrating data to schema 128 ...
    Migrating data to schema 129 ...
    Execute the following SQL to drop unused objects:
    
      DROP TABLE account_patch_reviews;
      DROP TABLE account_diff_preferences;
      DROP TABLE account_ssh_keys;
      DROP TABLE patch_set_ancestors;
      DROP TABLE starred_changes;
      DROP TABLE submodule_subscriptions;
      ALTER TABLE accounts DROP COLUMN contact_filed_on;
      ALTER TABLE accounts DROP COLUMN show_site_header;
      ALTER TABLE accounts DROP COLUMN time_format;
      ALTER TABLE accounts DROP COLUMN maximum_page_size;
      ALTER TABLE accounts DROP COLUMN use_flash_clipboard;
      ALTER TABLE accounts DROP COLUMN diff_view;
      ALTER TABLE accounts DROP COLUMN copy_self_on_email;
      ALTER TABLE accounts DROP COLUMN download_command;
      ALTER TABLE accounts DROP COLUMN download_url;
      ALTER TABLE accounts DROP COLUMN date_format;
      ALTER TABLE accounts DROP COLUMN legacycid_in_change_table;
      ALTER TABLE accounts DROP COLUMN review_category_strategy;
      ALTER TABLE accounts DROP COLUMN relative_date_in_change_table;
      ALTER TABLE accounts DROP COLUMN size_bar_in_change_table;
      ALTER TABLE accounts DROP COLUMN mute_common_path_prefixes;
    
    Execute now [Y/n]? Y
    Initialized /home/gerrit2/review_site
    

    問題レコードのアップグレード
         2.11.5    2.12          。
          https://blog.csdn.net/mmh19891113/article/details/81094626
    
    
         2.14     2.15          。
    
                  ,    sudo apt update && sudo apt install gerrit
          ,            
    [2018-07-19 10:44:53,268] [HTTP-77] ERROR com.google.gerrit.pgm.http.jetty.HiddenErrorHandler : Error in GET /changes/git%2Fshared%2Ftools%2Faais-java~142/detail?O=116414
    java.lang.NoSuchMethodError: com.google.gerrit.server.change.RevisionResource.getControl()Lcom/google/gerrit/server/project/ChangeControl;
    	at com.googlesource.gerrit.plugins.wip.WorkInProgress.getDescription(WorkInProgress.java:71)
    	at com.googlesource.gerrit.plugins.wip.WorkInProgress.getDescription(WorkInProgress.java:36)
    	at com.google.gerrit.server.extensions.webui.UiActions.describe(UiActions.java:116)
    	at com.google.gerrit.server.extensions.webui.UiActions.lambda$from$0(UiActions.java:74)
    	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
    	at java.util.Iterator.forEachRemaining(Iterator.java:116)
    	at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
    	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481)
    	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
    	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708)
    	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    	at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499)
    	at com.google.gerrit.server.extensions.webui.UiActions.from(UiActions.java:76)
    	at com.google.gerrit.server.extensions.webui.UiActions.from(UiActions.java:67)
    	at com.google.gerrit.server.change.ActionJson.toActionMap(ActionJson.java:213)
    	at com.google.gerrit.server.change.ActionJson.addRevisionActions(ActionJson.java:110)
    	at com.google.gerrit.server.change.ChangeJson.toRevisionInfo(ChangeJson.java:1348)
    	at com.google.gerrit.server.change.ChangeJson.revisions(ChangeJson.java:1247)
    	at com.google.gerrit.server.change.ChangeJson.toChangeInfo(ChangeJson.java:604)
    	at com.google.gerrit.server.change.ChangeJson.format(ChangeJson.java:339)
    	at com.google.gerrit.server.change.ChangeJson.format(ChangeJson.java:330)
    	at com.google.gerrit.server.change.ChangeJson.format(ChangeJson.java:309)
    	at com.google.gerrit.server.change.GetChange.apply(GetChange.java:47)
    	at com.google.gerrit.server.change.GetDetail.apply(GetDetail.java:50)
    	at com.google.gerrit.server.change.GetDetail.apply(GetDetail.java:25)
    	at com.google.gerrit.httpd.restapi.RestApiServlet.service(RestApiServlet.java:397)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    	at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:286)
    	at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:276)
    	at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:181)
    	at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)
    	at com.google.gerrit.httpd.raw.StaticModule$PolyGerritFilter.doFilter(StaticModule.java:483)
    	at com.google.gerrit.httpd.GetUserFilter.doFilter(GetUserFilter.java:100)
    	at com.google.gerrit.httpd.RunAsFilter.doFilter(RunAsFilter.java:122)
    	at com.google.gwtexpui.server.CacheControlFilter.doFilter(CacheControlFilter.java:69)
    	at com.google.gerrit.httpd.RequestMetricsFilter.doFilter(RequestMetricsFilter.java:57)
    	at com.google.gerrit.httpd.AllRequestFilter$FilterProxy$1.doFilter(AllRequestFilter.java:133)
    	at com.google.gerrit.httpd.AllRequestFilter$FilterProxy.doFilter(AllRequestFilter.java:135)
    	at com.google.gerrit.httpd.RequestContextFilter.doFilter(RequestContextFilter.java:69)
    	at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120)
    	at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:135)
    	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759)
    	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582)
    	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:224)
    	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180)
    	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512)
    	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
    	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112)
    	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    	at org.eclipse.jetty.server.handler.RequestLogHandler.handle(RequestLogHandler.java:56)
    	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134)
    	at org.eclipse.jetty.server.Server.handle(Server.java:534)
    	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:320)
    	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251)
    	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283)
    	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108)
    	at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93)
    	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303)
    	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148)
    	at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136)
    	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671)
    	at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)
    	at java.lang.Thread.run(Thread.java:748)
        ,               2.15     。
    
    
    
       2.12.7 ---->2.13.11
    gerrit2@gerrit-bak:~/review_site1$ java -jar bin/gerrit.war init -d /home/gerrit2/review_site1
    Using secure store: com.google.gerrit.server.securestore.DefaultSecureStore
    
    *** Gerrit Code Review 2.13.11
    *** 
    
    
    *** Git Repositories
    *** 
    
    Location of Git repositories   [git]: 
    
    *** SQL Database
    *** 
    
    Database server type           [postgresql]: 
    Server hostname                [localhost]: 
    Server port                    [(postgresql default)]: 
    Database name                  [reviewdb_2018-10-21.065101-v2.13.11.db]: 
    Database username              [gerrit2]: 
    Change gerrit2's password      [y/N]? 
    
    *** Index
    *** 
    
    
    The index must be rebuilt before starting Gerrit:
      java -jar gerrit.war reindex -d site_path
    
    *** User Authentication
    *** 
    
    Authentication method          [LDAP/?]: 
    LDAP server                    [ldap://10.0.13.251]: 
    LDAP username                  [gerrit]: 
    Change gerrit's password       [y/N]? 
    Account BaseDN                 [DC=xx,DC=com]: 
    Group BaseDN                   [DC=xx,DC=com]: 
    Enable signed push support     [y/N]? 
    
    *** Email Delivery
    *** 
    
    SMTP server hostname           [smtp.exmail.qq.com]: 
    SMTP server port               [(default)]: 
    SMTP encryption                [NONE/?]: 
    SMTP username                  [[email protected]]: 
    Change [email protected]'s password [y/N]? 
    
    *** Container Process
    *** 
    
    Run as                         [gerrit2]: 
    Java runtime                   [/usr/lib/jvm/java-8-openjdk-amd64/jre]: 
    Upgrade /home/gerrit2/review_site1/bin/gerrit.war [Y/n]? 
    Copying gerrit.war to /home/gerrit2/review_site1/bin/gerrit.war
    
    
    *** SSH Daemon
    *** 
    
    Listen on address              [*]: Listen on port                 [29418]: 
    
    *** HTTP Daemon
    *** 
    
    Behind reverse proxy           [y/N]? 
    Use SSL (https://)             [y/N]? 
    Listen on address              [*]: 
    Listen on port                 [8080]: 
    Canonical URL                  [http://10.0.12.32:8080/]: 
    
    *** Cache
    *** 
    
    Delete cache file /home/gerrit2/review_site1/cache/diff_intraline.h2.db [y/N]? 
    Delete cache file /home/gerrit2/review_site1/cache/mergeability.h2.db [y/N]? 
    Delete cache file /home/gerrit2/review_site1/cache/git_tags.h2.db [y/N]? 
    Delete cache file /home/gerrit2/review_site1/cache/mergeability.trace.db [y/N]? 
    Delete cache file /home/gerrit2/review_site1/cache/diff.trace.db [y/N]? 
    Delete cache file /home/gerrit2/review_site1/cache/diff.h2.db [y/N]? 
    Delete cache file /home/gerrit2/review_site1/cache/git_tags.trace.db [y/N]? 
    Delete cache file /home/gerrit2/review_site1/cache/diff_intraline.trace.db [y/N]? 
    Delete cache file /home/gerrit2/review_site1/cache/web_sessions.h2.db [y/N]? 
    Delete cache file /home/gerrit2/review_site1/cache/conflicts.h2.db [y/N]? 
    Delete cache file /home/gerrit2/review_site1/cache/change_kind.trace.db [y/N]? 
    Delete cache file /home/gerrit2/review_site1/cache/change_kind.h2.db [y/N]? 
    
    *** Plugins
    *** 
    
    Installing plugins.
    Install plugin commit-message-length-validator version v2.13.11 [Y/n]? 
    commit-message-length-validator v2.13.11 is already installed, overwrite it [Y/n]? 
    Updated commit-message-length-validator to v2.13.11
    Install plugin download-commands version v2.13.11 [Y/n]? 
    download-commands v2.13.11 is already installed, overwrite it [Y/n]? 
    Updated download-commands to v2.13.11
    Install plugin hooks version v2.13.11 [y/N]? 
    Install plugin replication version v2.13.11 [Y/n]? 
    replication v2.13.11 is already installed, overwrite it [Y/n]? 
    Updated replication to v2.13.11
    Install plugin reviewnotes version v2.13.11 [Y/n]? 
    reviewnotes v2.13.11 is already installed, overwrite it [Y/n]? 
    Updated reviewnotes to v2.13.11
    Install plugin singleusergroup version v2.13.11 [Y/n]? 
    singleusergroup v2.13.11 is already installed, overwrite it [Y/n]? 
    Updated singleusergroup to v2.13.11
    Initializing plugins.
    No plugins found with init steps.
    
    Upgrading schema to 120 ...
    Upgrading schema to 121 ...
    Upgrading schema to 122 ...
    Upgrading schema to 123 ...
    Upgrading schema to 124 ...
    Upgrading schema to 125 ...
    Upgrading schema to 126 ...
    Upgrading schema to 127 ...
    Upgrading schema to 128 ...
    Upgrading schema to 129 ...
    Migrating data to schema 120 ...
    Generating Superproject subscriptions table to submodule ACLs
    Exception in thread "main" com.google.gwtorm.server.OrmException: org.eclipse.jgit.errors.RepositoryNotFoundException: repository not found: /home/gerrit2/review_site1/git/git/shared/tools/ChkBugReport
    	at com.google.gerrit.server.schema.Schema_120.allowSubmoduleSubscription(Schema_120.java:92)
    	at com.google.gerrit.server.schema.Schema_120.migrateData(Schema_120.java:117)
    	at com.google.gerrit.server.schema.SchemaVersion.migrateData(SchemaVersion.java:142)
    	at com.google.gerrit.server.schema.SchemaVersion.upgradeFrom(SchemaVersion.java:81)
    	at com.google.gerrit.server.schema.SchemaVersion.check(SchemaVersion.java:72)
    	at com.google.gerrit.server.schema.SchemaUpdater.update(SchemaUpdater.java:112)
    	at com.google.gerrit.pgm.init.BaseInit$SiteRun.upgradeSchema(BaseInit.java:367)
    	at com.google.gerrit.pgm.init.BaseInit.run(BaseInit.java:133)
    	at com.google.gerrit.pgm.util.AbstractProgram.main(AbstractProgram.java:64)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at com.google.gerrit.launcher.GerritLauncher.invokeProgram(GerritLauncher.java:163)
    	at com.google.gerrit.launcher.GerritLauncher.mainImpl(GerritLauncher.java:104)
    	at com.google.gerrit.launcher.GerritLauncher.main(GerritLauncher.java:59)
    	at Main.main(Main.java:25)
    Caused by: org.eclipse.jgit.errors.RepositoryNotFoundException: repository not found: /home/gerrit2/review_site1/git/git/shared/tools/ChkBugReport
    	at com.google.gerrit.server.git.LocalDiskRepositoryManager.openRepository(LocalDiskRepositoryManager.java:182)
    	at com.google.gerrit.server.git.LocalDiskRepositoryManager.openRepository(LocalDiskRepositoryManager.java:164)
    	at com.google.gerrit.server.schema.Schema_120.allowSubmoduleSubscription(Schema_120.java:60)
    	... 16 more
    gerrit2@gerrit-bak:~/review_site1$ 
    gerrit2@gerrit-bak:~/review_site1$ java -jar bin/gerrit.war init -d /home/gerrit2/review_site1
    Using secure store: com.google.gerrit.server.securestore.DefaultSecureStore
    
    *** Gerrit Code Review 2.13.11
    *** 
    
    
    *** Git Repositories
    *** 
    
    Location of Git repositories   [git]: 
    
    *** SQL Database
    *** 
    
    Database server type           [postgresql]: 
    Server hostname                [localhost]: 
    Server port                    [(postgresql default)]: 
    Database name                  [reviewdb_2018-10-21.065101-v2.13.11.db]: 
    Database username              [gerrit2]: 
    Change gerrit2's password      [y/N]? 
    
    *** Index
    *** 
    
    
    The index must be rebuilt before starting Gerrit:
      java -jar gerrit.war reindex -d site_path
    
    *** User Authentication
    *** 
    
    Authentication method          [LDAP/?]: 
    LDAP server                    [ldap://10.0.13.251]: 
    LDAP username                  [gerrit]: 
    Change gerrit's password       [y/N]? 
    Account BaseDN                 [DC=xx,DC=com]: 
    Group BaseDN                   [DC=xx,DC=com]: 
    Enable signed push support     [y/N]? 
    
    *** Email Delivery
    *** 
    
    SMTP server hostname           [smtp.exmail.qq.com]: 
    SMTP server port               [(default)]: 
    SMTP encryption                [NONE/?]: 
    SMTP username                  [[email protected]]: 
    Change [email protected]'s password [y/N]? 
    
    *** Container Process
    *** 
    
    Run as                         [gerrit2]: 
    Java runtime                   [/usr/lib/jvm/java-8-openjdk-amd64/jre]: 
    Upgrade /home/gerrit2/review_site1/bin/gerrit.war [Y/n]? 
    Copying gerrit.war to /home/gerrit2/review_site1/bin/gerrit.war
    
    *** SSH Daemon
    *** 
    
    Listen on address              [*]: 
    Listen on port                 [29418]: 
    
    *** HTTP Daemon
    *** 
    
    Behind reverse proxy           [y/N]? 
    Use SSL (https://)             [y/N]? 
    Listen on address              [*]: 
    Listen on port                 [8080]: 
    Canonical URL                  [http://10.0.12.32:8080/]: 
    
    *** Cache
    *** 
    
    Delete cache file /home/gerrit2/review_site1/cache/diff_intraline.h2.db [y/N]? 
    Delete cache file /home/gerrit2/review_site1/cache/mergeability.h2.db [y/N]? 
    Delete cache file /home/gerrit2/review_site1/cache/git_tags.h2.db [y/N]? 
    Delete cache file /home/gerrit2/review_site1/cache/mergeability.trace.db [y/N]? 
    Delete cache file /home/gerrit2/review_site1/cache/diff.trace.db [y/N]? 
    Delete cache file /home/gerrit2/review_site1/cache/diff.h2.db [y/N]? 
    Delete cache file /home/gerrit2/review_site1/cache/git_tags.trace.db [y/N]? 
    Delete cache file /home/gerrit2/review_site1/cache/diff_intraline.trace.db [y/N]? 
    Delete cache file /home/gerrit2/review_site1/cache/web_sessions.h2.db [y/N]? 
    Delete cache file /home/gerrit2/review_site1/cache/conflicts.h2.db [y/N]? 
    Delete cache file /home/gerrit2/review_site1/cache/change_kind.trace.db [y/N]? 
    Delete cache file /home/gerrit2/review_site1/cache/change_kind.h2.db [y/N]? 
    
    *** Plugins
    *** 
    
    Installing plugins.
    Install plugin commit-message-length-validator version v2.13.11 [Y/n]? 
    commit-message-length-validator v2.13.11 is already installed, overwrite it [Y/n]? 
    Updated commit-message-length-validator to v2.13.11
    Install plugin download-commands version v2.13.11 [Y/n]? 
    download-commands v2.13.11 is already installed, overwrite it [Y/n]? 
    Updated download-commands to v2.13.11
    Install plugin hooks version v2.13.11 [y/N]? 
    Install plugin replication version v2.13.11 [Y/n]? 
    replication v2.13.11 is already installed, overwrite it [Y/n]? 
    Updated replication to v2.13.11
    Install plugin reviewnotes version v2.13.11 [Y/n]? 
    reviewnotes v2.13.11 is already installed, overwrite it [Y/n]? 
    Updated reviewnotes to v2.13.11
    Install plugin singleusergroup version v2.13.11 [Y/n]? 
    singleusergroup v2.13.11 is already installed, overwrite it [Y/n]? 
    Updated singleusergroup to v2.13.11
    Initializing plugins.
    No plugins found with init steps.
    
    Upgrading schema to 120 ...
    Upgrading schema to 121 ...
    Upgrading schema to 122 ...
    Upgrading schema to 123 ...
    Upgrading schema to 124 ...
    Upgrading schema to 125 ...
    Upgrading schema to 126 ...
    Upgrading schema to 127 ...
    Upgrading schema to 128 ...
    Upgrading schema to 129 ...
    Migrating data to schema 120 ...
    Generating Superproject subscriptions table to submodule ACLs
    Migrating data to schema 121 ...
    Migrating data to schema 122 ...
    Migrating data to schema 123 ...
    Updating references:    100% (555/555)
    Migrating data to schema 124 ...
    Migrating data to schema 125 ...
    Migrating data to schema 126 ...
    Migrating data to schema 127 ...
    Migrating data to schema 128 ...
    Migrating data to schema 129 ...
    Execute the following SQL to drop unused objects:
    
      DROP TABLE account_patch_reviews;
      DROP TABLE account_ssh_keys;
      DROP TABLE starred_changes;
      DROP TABLE submodule_subscriptions;
      ALTER TABLE accounts DROP COLUMN show_site_header;
      ALTER TABLE accounts DROP COLUMN time_format;
      ALTER TABLE accounts DROP COLUMN maximum_page_size;
      ALTER TABLE accounts DROP COLUMN use_flash_clipboard;
      ALTER TABLE accounts DROP COLUMN diff_view;
      ALTER TABLE accounts DROP COLUMN copy_self_on_email;
      ALTER TABLE accounts DROP COLUMN download_command;
      ALTER TABLE accounts DROP COLUMN download_url;
      ALTER TABLE accounts DROP COLUMN date_format;
      ALTER TABLE accounts DROP COLUMN legacycid_in_change_table;
      ALTER TABLE accounts DROP COLUMN review_category_strategy;
      ALTER TABLE accounts DROP COLUMN relative_date_in_change_table;
      ALTER TABLE accounts DROP COLUMN size_bar_in_change_table;
      ALTER TABLE accounts DROP COLUMN mute_common_path_prefixes;
    
    Execute now [Y/n]? 
    
    
    # gerrit replication      
    Host gerrit-sh-example-com
    User gerrit2
    Hostname 192.168.12.18
    IdentityFile ~/.ssh/id_rsa
    PreferredAuthentications publickey
    StrictHostKeyChecking no
    UserKnownHostsFile /dev/null
    
    
    # gerrit replication      
    Host gerrit-wx-example-com
    User gerrit2
    Hostname 192.168.17.236
    IdentityFile ~/.ssh/id_rsa
    PreferredAuthentications publickey
    StrictHostKeyChecking no
    UserKnownHostsFile /dev/null
    
    # gerrit replication      
    Host gerrit-nj-example-com
    User gerrit2
    Hostname 192.168.31.201
    IdentityFile ~/.ssh/id_rsa
    PreferredAuthentications publickey
    StrictHostKeyChecking no
    UserKnownHostsFile /dev/null
    
    
    gerrit2@gerrit-master:~$ cat review_site/etc/gerrit.config 
    [user]
        name = Gerrit2-example
        email = [email protected]
    [core]
        packedGitOpenFiles = 409600
    [gerrit]
        basePath = git
        canonicalWebUrl = http://gerrit.example.com:8080/
    [database]
        type = postgresql
        hostname = localhost
        database = reviewdb
        username = gerrit2
        poolMinIdle = 4
        poolMaxIdle = 10
        poolLimit = 128
        poolMaxWait = 10s
    [index]
        type = LUCENE
    [auth]
        type = LDAP
    [ldap]
        server = ldap://192.168.13.251
        username = gerrit
        accountBase = DC=example,DC=com
        groupBase = DC=example,DC=com
        accountFullName = displayName
        localUsernameToLowerCase = true
    [sendemail]
        enable = false
        smtpServer = smtp.exmail.qq.com
        smtpUser = [email protected]
        from = Gerrit2-example
    [container]
        user = gerrit2
        javaHome = /usr/lib/jvm/java-8-openjdk-amd64/jre
        heapLimit = 100g
    [sshd]
        listenAddress = *:29418
        threads = 112
        batchThreads = 16
        streamThreads = 32
        commandStartThreads = 16
        maxConnectionsPerUser = 64
    [httpd]
        listenUrl = http://*:8080/
    [cache]
        directory = cache
    [theme]
        backgroundColor = FCFEEF
        textColor = 000000
        trimColor = D4E9A9
        selectionColor = FFFFCC
        topMenuColor = D4E9A9
        changeTableOutdatedColor = F08080
    [theme "signed-in"]
        backgroundColor = FFFFFF
    
    [commentlink "jira"]
        match = \\[([A-Z]+-[0-9]+)\\]
        link = http://jira.example.com/browse/$1
    
    [cache "web_sessions"]
        maxAge = 1 week
    
    [receive]
        enableSignedPush = false
    [plugins]
        allowRemoteAdmin = true
    
    
    [download]
      command = checkout
      command = cherry_pick
      scheme = ssh
    
    
    
    
    gerrit2@gerrit-master:~$ cat review_site/etc/gitiles.config 
    [gitiles]
        type = custom
        linkname = gitiles
        url = /plugins/gitiles/
        revision = ${project}/+/${commit}
        project = ${project}
        roottree = ${project}
        branch = ${project}/+/${branch}
        filehistory = ${project}/+log/${branch}/${file}
        file = ${project}+${commit}/${file}
    
    
    gerrit2@gerrit-master:~$ cat review_site/etc/gitiles.config 
    [gitiles]
        type = custom
        linkname = gitiles
        url = /plugins/gitiles/
        revision = ${project}/+/${commit}
        project = ${project}
        roottree = ${project}
        branch = ${project}/+/${branch}
        filehistory = ${project}/+log/${branch}/${file}
        file = ${project}+${commit}/${file}
    gerrit2@gerrit-master:~$ cat review_site/etc/replication.config 
    [gerrit]
        defaultForceUpdate = true
        autoReload = true
    
    [remote "gerrit-sh"]
        url  = gerrit2@gerrit-sh-example-com:/home/gerrit2/review_site/git/${name}.git
        projects = "^git/android/.*"
        projects = "^Permission_parent/.*"
        projects = "All-Projects"
        projects = "All-Users"
    
        push = +refs/*:refs/*
        mirror = true
        replicatePermissions=true
        threads = 16
        replicationDelay = 2
    
    [remote "gerrit-wx"]
        url  = gerrit2@gerrit-wx-example-com:/home/gerrit2/review_site/git/${name}.git
        projects = "^git/android/.*"
        projects = "^Permission_parent/.*"
        projects = "All-Projects"
        projects = "All-Users"
    
        push = +refs/heads/*:refs/heads/*
        push = +refs/users/*:refs/users/*
        push = +refs/meta/*:refs/meta/*
        push = +refs/tags/*:refs/tags/*
    
        mirror = true
        replicatePermissions=true
        threads = 6
        replicationDelay = 12
    
    [remote "gerrit-nj"]
        url  = gerrit2@gerrit-nj-example-com:/home/gerrit2/review_site/git/${name}.git
        projects = "^git/android/.*"
        projects = "^Permission_parent/.*"
        projects = "All-Projects"
        projects = "All-Users"
    
        push = +refs/heads/*:refs/heads/*
        push = +refs/users/*:refs/users/*
        push = +refs/meta/*:refs/meta/*
        push = +refs/tags/*:refs/tags/*
    
        mirror = true
        replicatePermissions=true
        threads = 6
        replicationDelay = 12
    
    
    
    
    

    その他
    質問があれば馬兄に連絡して、馬兄の宝を洗う店:馬兄の私房料理https://shop592330910.taobao.com/2018/10/21に更新