Gerrit安装配置(保姆级指南)
系统环境 ubuntu 20 jdk 1.8 gerrit 2.16 git、apache2、docker 、nginx 最新的
[简单说⼀下思路:]
gerrit的运⾏是先⽤gerrit.war去安装gerrit的运⾏环境和gerrit.sh,后续使⽤gerrit.sh来启动,⽽gerrit.war会被fig引⽤或拷贝到gerrit的安装⽬录;gerrit不⽀持直接被访问,只能使⽤反向代理来访问,因此需要安装⼀个反向代理的服务apache2 或者 nginx,通过反向代理来访问gerrit服务的地址和端⼝。
1 ubuntu 配置gerrit管理账号
添加⼀个gerrit专⽤⽤户,后续配置gerrit⽤
sudo adduser gerrit
增加sudo权限
sudo usermod -a -G sudo gerrit
切换到gerrit账号
sudo su gerrit
2 安装java环境
sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update
sudo apt-get install openjdk-8-jdk
3 安装git
sudo apt-get install git
4 安装apache2
sudo apt-get install apache2
5 安装及配置gerrit
下载地址 :
在下载⽬录下,执⾏
java -jar gerrit-2.16.7.war init -d ~/review_site
安装过程中会对配置项做交互式的配置,其中多数配置都可以使⽤默认配置(敲回车即可),有两处需要注意:
(1) 是
Authentication method          [openid/?]: http 询问时填写 http
***
Install plugin download-commands version v2.16.5 [y/N]?  询问是填写 y (安装download-commands 插件在gerrit部署好后会有项⽬的克隆地址,不安装该插件没有克隆地址额外安装易出错导致gerrit进程启动失败)
(3) gerrit 的具体配置⽂件见⽂末
6 安装配置nginx (使⽤docker启动nginx,优点是便于管理,启停⽐较⽅便,免去安装依赖库;也可以使⽤直装的nginx)
(1) 安装docker    使⽤国内 daocloud ⼀键安装命令
(2) 下载nginx镜像
sudo docker pull nginx
(3) 启动nginx容器 (命令详解见⽂末)
sudo docker run -d --name nginx_gerrit_server8081-8 -p 8081:8081 -v
/home/gerrit/review_site/passwords/passwords:/home/gerrit/review_site/passwords/passwords -v
/home/gerrit/:/etc/nginx/html/ -v /home/gerrit/data/nginx/logs/nginx_gerrit_log/:/var/log/nginx -v
/home/gerrit/config/gerrit-nginx/f:/etc/f nginx
(4) nginx配置⽂件见⽂末
7 ⽣成登录账户 (其中第⼀个登录的账户为gerrit的管理员编号为1000000)
使⽤apache2 的 htpasswd 命令⽣成账户
sudo htpasswd -cmb passwords admin admin  (⽣成并创建账户管理⽂件passwords)
sudo htpasswd -mb passwords zxh zxh (追加⼀个新账户)
8 gerrit 的服务启停
sudo ~/review_site/bin/gerrit.sh stop
sudo ~/review_site/bin/gerrit.sh start
9 关闭apache2 服务(因为⽤不到,⽽且占⽤80端⼝)
sudo service apache2 stop
10 配置⽂件
gerrit配置⽂件
>>>>>>>>>>###
[gerrit]
basePath = git
serverId = 0f8a279e-e39b-406a-ad92-6d039bb7316f
database = /home/gerrit/review_site/db/ReviewDB
[noteDb "changes"]
disableReviewDb = true
primaryStorage = note db
read = true
sequence = true
write = true
[container]
javaOptions = "-Dflogger.backend_lemon.flogger.backend.log4j.Log4jBackendFactory#getInstance"        javaOptions = "-Dflogger.logging_le.gerrit.server.logging.LoggingContext#getInstance"
user = gerrit
javaHome = /usr/lib/jvm/java-8-openjdk-amd64/jre
war = /home/gerrit/package/gerrit-2.16.7.war
[index]
type = LUCENE
[auth]
type = HTTP
[receive]
enableSignedPush = false
[sendemail]
enable = true
SMTPServer = smtp.qq
SMTPServerPort = 465
SMTPEncryption = ssl
smtpUser = ****@qqnginx和apache区别
from =  ****@qq
[sshd]
[httpd]
[cache]
directory = cache
>>>>>>>>>>###
>>>>>>>>>>>## nginx 配置⽂件
#user  nobody;
worker_processes  1;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
events {
worker_connections  1024;
}
http {
include      pes;
default_type  application/octet-stream;
#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '    #                  '$status $body_bytes_sent "$http_referer" '
#                  '"$http_user_agent" "$http_x_forwarded_for"';
#access_log  logs/access.log  main;
sendfile        on;
#tcp_nopush    on;
#keepalive_timeout  0;
keepalive_timeout  65;
server {
listen      8081;
server_name  localhost;
allow  all;
deny    all;
auth_basic "Welcome To Gerrit Code Review Site" ;
auth_basic_user_file /home/gerrit/review_site/passwords/passwords;        #charset koi8-r;
#access_log  logs/host.access.log  main;
location / {
#  root  html;
#  index  index.html index.htm;
}
#error_page  404              /404.html;
# redirect server error pages to the static page /50x.html
#
error_page  500 502 503 504  /50x.html;
location = /50x.html {
root  html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000        #
#location ~ \.php$ {
#    root          html;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论