一.相关环境部署

sudo apt-get install openjdk-11-jdk openjdk-11-jre git nginx

二. 配置gerrit

1.下载gerrit安装包

https://gerrit-releases.storage.googleapis.com 中找想使用的版本并下载

例:(当前目录/data)

wget https://gerrit-releases.storage.googleapis.com/gerrit-3.1.3.war

2.安装gerrit

java -jar gerrit-3.1.3.war init -d review_site --batch --dev --install-all-plugins

–d 配置初始化安装路径
–batch 跳过交互模式,设置gerrit部分参数为默认值,安装一些核心插件等
–dev 配置gerrit服务器使用默认开发选项
–install-all-plugins 安装所有来自war的插件

也可以不跳过交互模式,根据提示一步步安装,可参考该文章,有详细说明
https://www.cnblogs.com/yinzhengjie/p/11007383.html

修改 /data/review_site/etc/gerrit.config 文件中 canonicalWebUrl ,把别名改为 ip

canonicalWebUrl = http://x.x.x.x:8080/

3.相关问题

报错:Starting Gerrit Code Review: FAILED

可能端口被占用,修改 /data/review_site/etc/gerrit.config 文件中的 httpd 的端口,默认8080,然后执行 sudo /data/review_site/bin/gerrit.sh start 启动Gerrit,或者先 stop 再 start。下文**/etc/nginx/sites_enabled/gerrit** 中proxy_pass 对应端口也要修改,并重新加载nginx,sudo systemctl reload nginx

三.配置nginx

不装nginx也不影响gerrit启动,以下操作可跳过

1. 修改nginx配置文件

cd /etc/nginx/sites_enabled
sudo vi default
\\修改为以下内容
server {
  listen *:80;
  server_name localhost;
  auth_basic "Welcome to Gerrit Code Review Site!";
  auth_basic_user_file /data/review_site/etc/gerrit.password;
  location / {
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header Host $host;
  }
}

sudo systemctl reload nginx
sudo systemctl status nginx
sudo systemctl start nginx
# 若启动失败,可查看报错日志
sudo nginx -t

2. 开防火墙

sudo apt-get install ufw 安装ufw
sudo ufw app list 列出所有应用程序配置策略
sudo ufw allow ‘Nginx HTTP’ 按情况开启
sudo ufw status 查看状态
sudo ufw enable 开启ufw
sudo ufw disable 禁用ufw

3. nginx相关命令

sudo systemctl status nginx 查看nginx状态
sudo systemctl stop nginx 停止Web服务器
sudo systemctl start nginx 启动Web服务器
sudo systemctl reload nginx 仅更改配置,Nginx可以重新加载而不断开连接
sudo systemctl disable nginx 默认情况下,在服务器启动时Nginx自动启动,可禁用此行为
sudo systemctl enable nginx 要重新启用该服务以在引导时启动

四. 创建用户

sudo apt install apache2-utils
htpasswd -c /data/review_site/etc/gerrit.password admin

-c 路径应与上文 /etc/nginx/sites_enabled/gerrit 中的路径对应

登陆的时候显示的如果是openid。需要获取openid否则用户不能创建和登陆。可以修改 /data/review_site/etc/gerrit.config 文件中的 authtype = DEVELOPMENT_BECOME_ANY_ACCOUNT ,第一个访问者成为管理者,其他访问者自动成为用户(会存储账号随意登录,可调试用)。修改完成后重启gerrit即可

五.配置ldap

vi /data/review_site/etc/gerrit.config
[auth]
type = LDAP
[ldap]
server = ldap:// ip
username = cn=Manager,dc=yt,dc=com
accountBase = ou=People,dc=yt,dc=com
groupBase = ou=Groups,dc=yt,dc=com

vi /data/review_site/etc/secure.config
[ldap]
        password = 123456

sh /data/review_site/bin/gerrit.sh restart

cd /etc/nginx/sites_enabled
vi default
配置去掉auth_basic auth_basic_user_file
sudo systemctl restart nginx

六.配置邮箱

vi /data/review_site/etc/gerrit.config
[sendemail]
        enable = true
        smtpServer = smtp.qq.com
        smtpServerPort = 465
        smtpEncryption = ssl
        smtpUser = aa@qq.com
        smtpPass = xxxxx
        from = aa@qq.com

七.java升级

#cenos,ubuntu均可执行
update-alternatives --config java
#修改gerrit.config的javaHome
vi /data/review_site/etc/gerrit.config
[container]
        javaOptions = "-Dflogger.backend_factory=com.google.common.flogger.backend.log4j.Log4jBackendFactory#getInstance"
        javaOptions = "-Dflogger.logging_context=com.google.gerrit.server.logging.LoggingContext#getInstance"
        user = gerrit
        javaHome = /usr/lib/jvm/java-11-openjdk-amd64
        heapLimit = 40g
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐