Androidの下の配置管理の道のgerritコードサーバー構築
51780 ワード
Androidの下の配置管理の道のgerritコードサーバー構築
gerritコードサーバ構築Version v 2.11.5
一般的にgerritのドキュメントを参考にすればいいです.以下のほとんどはドキュメントで、いくつかの注意点、いくつかのツールの選択取捨選択などがリストされています.
必要な環境
jdk、gitなどの関連ツールgerritはjava webアプリケーションであるため、java実行時環境は少なくなく、jdkやjreをインストールしてもよい.gerritはgitに基づいてコードを管理するのでgitも少なくない.馬兄の宝を洗う店:馬兄の私房料理https://shop592330910.taobao.com/
またはjdk 8を用いる.ubuntu 16はjdk 8を使用できます.
最新の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をインストールすることはできません.以下のようにします.
データベースの設定
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を実行する必要があります.
馬兄の宝を洗う店:馬兄の私房料理https://shop592330910.taobao.com/postgresqlデータベースの詳細については、公式サイトにアクセスしてください.http://www.postgresql.org/docs/9.1/interactive/index.html
補足:phppgadminのインストールが完了した後、直接アクセスするとエラーが発生し、プロファイル/etc/apache 2/conf-available/phppgadminを変更する必要があります.confファイルの
3.MySQL
これもとてもお勧めのデータベースですこれも個別にインストールする必要がありますが、
マゴのおすすめのインストールは
ここにmysqlデータベースの管理ソフトウェアを1つ追加します.便利で、インタフェース付きで、ブラウザでmysqlデータベースを管理します.データベースの作成、ロールの作成、パスワードの設定、クエリー、変更はブラウザで行うことができ、非常に便利です.馬兄の宝を洗う店:馬兄の私房料理https://shop592330910.taobao.com/
もちろん上のコマンドはphpmyadminでブラウザで直接操作できます.
4.Oracleというデータベースもとても良いですが、マゴ本人は使ったことがなく、あまり何も言いません.会社で最もよく使われているのはmysqlとpostgresqlの2つのデータベースです.私はいくつかの会社で持ってきたことがありますが、基本的にはmysqlとpostgresqlを使っています.oracleはお金が必要ですよね?!
データの作成方法は公式ドキュメントには紹介されていないようです.一般的なOracleデータベース(Oracle Database)は、インスタンス(Instance)とデータベース(Database)の2つのセクションに分けられます.
ファイル$site_にInstanceを設定する必要があります.path/etc/gerrit.config:
データベースはアカウントを作成したのではないでしょうか.アカウントにはパスワードがありますが、このパスワードはどのようにgerrit webに構成されていますか?パスワードはこのファイルに$site_path/etc/secure.config:マゴの淘宝店:マゴのプライベートルーム料理https://shop592330910.taobao.com/
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:
パスワードプロファイル$site_path/etc/secure.config:
上記のgerritに必要なデータベースです.
一般的なデータベースに関する構成は、ファイル$site_path/etc/gerrit.configとファイル$site_path/etc/secure.config. 馬兄の宝を洗う店:馬兄の私房料理https://shop592330910.taobao.com/
gerritの初期化
1.まずlinuxのシステムアカウントを追加し、gerrit webをこのroot以外のアカウントの下で実行させると、より安全になります.この口座にもパスワードを設定しないでください.adduserを実行してシステムアカウントを追加し、このアカウントにパスワードを設定する必要はありません.一般的なマゴはシステムをインストールした後、sudo権限のアカウントを作成します.名前:mage.
馬兄の宝を洗う店:馬兄の私房料理https://shop592330910.taobao.com/
2.gerrit 2というlinuxシステムアカウントに切り替えます.パスワードは必要ありません.私は一般的にsudo suを使ってアカウントの下に切り替えます.
3.initコマンドの実行
一般的に/home/gerrit 2/review_にインストールsiteというパスの下には、公式ドキュメントで与えられたパスがあります.もちろん他のパスにインストールすることもできます.例えば/var/lib/gerrit 2のように、あまり勝手にパスを探さないように注意してください.このパスをお勧めします:/home/gerrit 2/review_site. 一般的なこの経路はgerrit 2というシステムアカウントのホームディレクトリです.
一歩一歩関連する内容を入力するようにヒントを与えます.初期化してから、これらの構成を変更することができます.gerritの主な構成はファイル'$site_です.path/etc/gerrit.config’では、
馬兄の宝を洗う店:馬兄の私房料理https://shop592330910.taobao.com/
マゴ自身の配置をください.
パスワードに関するプロファイルを次に示します.
初期化が完了するとgerrit webアプリケーションを起動できます
次のコマンドを実行すればいいので、簡単です.shスクリプト
馬兄の宝を洗う店:馬兄の私房料理https://shop592330910.taobao.com/
gerritサービスを開始すると起きられない可能性が高い.この時私たちはreviewを見に行かなければなりません.site/logs/次のエラーログファイルです.
起動したログはこのように見えます
起動の成功の鍵は最後の一言を見ることです:馬兄の宝を洗う店:馬兄の私房料理https://shop592330910.taobao.com/
エラー・ログは次のように表示されます.
エラーの種類が多いので、一般的には具体的に分析しなければなりません.あとで出会ったことがあったらまた記録しておきましょう.馬兄の宝を洗う店:馬兄の私房料理https://shop592330910.taobao.com/
このエラーが発生した場合、reindexがコマンド
馬兄の宝を洗う店:馬兄の私房料理https://shop592330910.taobao.com/POSTの設定が可能
gerritその他のカスタマイズ設定
1.Reverse Proxyリバースエージェント設定、80ポートから8080ポートapacheのリバースエージェント設定、8080ポートから80ポートにリダイレクト可能
上にデータをインストールするとき、マゴはphpmyadminとphppgadminという2つの管理ツールをお勧めします.このツールをインストールするとapache 2がインストールされます.特にこのようなインストールをお勧めします.apache 2もインストールされ、データベースもインストールされています.
ファイル/etc/apache 2/sites-availableに数行追加
このファイルを保存してapache 2サービスを再起動します.個のgitweb をインストールできます.
あるいはgitilesをインストールして、これは比較的に使いやすくて、グーグル自身もこのプラグインを使っています.
gerritプラグインはこのサイトでダウンロードできますhttps://gerrit-ci.gerritforge.com/
http://archive-ci.gerritforge.com/job/プラグインのアドレスを探します.システムに不要なパッケージを削除https://peteris.rocks/blog/can-you-kill-it/
gerritアップグレード
問題レコードのアップグレード
その他
質問があれば馬兄に連絡して、馬兄の宝を洗う店:馬兄の私房料理https://shop592330910.taobao.com/2018/10/21に更新
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などのいくつかのデータベースをサポートします
h 2タイプのデータベースを選択すると、追加のインストールも構成も必要ありません.このデータベースはjava実装のローカルデータベースです.一般的な会社ではこれをお勧めしませんが、直接テストして勉強してみてください.特に大手企業では、このタイプのデータベースは推奨されていません.推奨されないのは、gerritが先に実行を停止しない限り、データベースと対話する簡単な方法がないことです.すなわちgerritは,実行状態ではこのh 2型のデータベースに直接アクセスする方法がない.もちろんだcom gerrit gsqlというコマンドは別です.馬兄の宝を洗う店:馬兄の私房料理https://shop592330910.taobao.com/推奨しないのは、データのバックアップが容易ではないためです.最後に推奨されない理由は、ロード・バランシング、ホット・バックアップなどがサポートされていないためです.
これはとてもお勧めのデータベースです.これは単独でインストールする必要があります.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 local
をallow 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サービスを再起動します.
sudo apt-get install gitweb
あるいはgitilesをインストールして、これは比較的に使いやすくて、グーグル自身もこのプラグインを使っています.
gerritプラグインはこのサイトでダウンロードできますhttps://gerrit-ci.gerritforge.com/
http://archive-ci.gerritforge.com/job/プラグインのアドレスを探します.
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に更新