1.添加gerrit帐号并赋予sudo权限
sudo adduser gerrit
chmod u+w /etc/sudoers
sudo vi /etc/sudoers
找到如下内容:
# User privilege specification
root ALL=(ALL:ALL) ALL
gerrit ALL=(ALL:ALL) ALL #添加这一行
sudo su gerrit
2.安装java
sudo apt-get install openjdk-8-jdk
3.下载gerrit,安装,全部默认
java -jar gerrit-2.13.6.war init -d review_site
PS:gerrit war下载地址请参考:
https://blog.csdn.net/mmh19891113/article/details/81013994 #谢谢原作者!
4.创建git仓库目录
mkdir /home/gerrit/repositories
5.修改gerrit配置文件
vi review_site/etc/gerrit.config
修改如下:
[gerrit]
basePath = /home/gerrit/repositories
serverId = 1547269b-5d3a-404e-b42b-7853003cac72
canonicalWebUrl = http://192.168.10.117:9999/[database]
type = h2
database = /home/gerrit/review_site/db/ReviewDB
[auth]
type = HTTP
[receive]
enableSignedPush = false
[sendemail]
smtpServer = smtp.exmail.qq.com
smtpServerPort = 465
smtpEncryption = SSL
smtpUser = XXXXX@qq.com
smtpPass = xxx
sslVerify = false
from = XXXXX@qq.com
[container]
user = gerrit
javaHome = /usr/lib/jvm/java-8-openjdk-amd64/jre
[sshd]
listenAddress = *:29418
[cache]
directory = cache
[httpd]
listenUrl = http://*:8888/
6.添加gerrit管理员账户,设置帐号密码
touch ./review_site/etc/passwd
htpasswd -b ./review_site/etc/passwd admin adminpassword
7.安装apache2和git
sudo apt-get install apache2 git
8.修改配置 新增端口
sudo vi /etc/apache2/ports.conf
新增9999端口
NameVirtualHost *:80
NameVirtualHost *:9999
Listen 80
Listen 9999
. . . . . .
9.配置反向代理
sudo vi /etc/apache2/httpd.conf
如下:
ServerName gerrit.com #ServerName配置的是主机的域名或者ip,如果用localhost那就相当于只能本机访问
<VirtualHost *:9999>
ProxyRequests Off
ProxyVia Off
ProxyPreserveHost On
AllowEncodedSlashes On
RewriteEngine On
RewriteRule ^/(.*) http://192.168.10.117:8888/$1 [NE,P]
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
<Location /login/>
AuthType Basic
AuthName "Gerrit Code Review"
Require valid-user
AuthBasicProvider file
AuthUserFile /home/gerrit/review_site/etc/passwd
</Location>ProxyPass / http://192.168.10.117:8888/
</VirtualHost>
10.主配置文件中加入httpd.conf,使其生效
sudo vi /etc/apache2/apache2.conf
加一句:
Include httpd.conf
11.开启一些模块:
sudo a2enmod proxy
sudo a2enmod rewrite
sudo a2enmod ssl
sudo a2enmod proxy_balancer
sudo a2enmod proxy_http
12.关掉gerrit服务
./review_site/bin/gerrit.sh stop
清空数据库
cd review_site/bin/
java -jar ./gerrit.war gsql -d ../
DROP ALL OBJECTS;
不这样做会有Server Error,Missing project All-Projects的错误
java.lang.IllegalStateException: Missing project All-Projects
13 安装配置gitweb
sudo apt-get install gitweb
查看相关配置文件安装路径:
dpkg -L gitweb
得到输出如下:
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/gitweb
/usr/share/doc/gitweb/examples
/usr/share/doc/gitweb/examples/index.aux-generation
/usr/share/doc/gitweb/README.Debian
/usr/share/doc/gitweb/copyright
/usr/share/doc/gitweb/README
/usr/share/doc/gitweb/NEWS.Debian.gz
/usr/lib
/usr/lib/cgi-bin
/etc
/etc/apache2
/etc/apache2/conf.d
/etc/apache2/conf.d/gitweb
/etc/gitweb.conf
/usr/share/doc/gitweb/changelog.Debian.gz
/usr/lib/cgi-bin/gitweb.cgi
根据上面的地址在gerrit.conf中添加如下配置:
[gitweb]
type = gitweb
cgi = /usr/lib/cgi-bin/gitweb.cgi
相关说明:
gitweb集成gerrit后,默认只有管理员用户才能查看gitweb超链接,普通用打开链接后页面显示Not Found。如果想给普通的用户查看gitweb超链接的权限,则必须对项目设置refs/meta/config 的read权限。而这个权限在All-Projects的ACL里只对Administrators用户和Project Owners开放。
14.重新安装一遍gerrit
java -jar gerrit-2.13.6.war init -d review_site
15.启动服务
./review_site/bin/gerrit.sh start
sudo /etc/init.d/apache2 restart
客户端可通过http://192.168.10.117:9999/访问,请登陆管理员账户
16. config ssh
vi .ssh/config
Host gerrit1
HostName localhost
User admin
IdentityFile ~/.ssh/id_rsa
port 29418
17. gerrit添加新用户和密码
htpasswd -b ./review_site/etc/passwd sfr sfrpassword
Then, login sfr account to setting the fullname and ssh key
18.设置用户邮箱
ssh gerrit1 gerrit set-account admin --add-email XXXXXX@qq.com
ssh gerrit1 gerrit set-account sfr --add-email XXXX@163.com
19.create group and add the new user to this group
ssh gerrit1 gerrit set-members home(group name) -a sfr
20.download and config repo
克隆repo裸版本库
cd repositories
git clone --bare https://code.csdn.net/kangear/git-repo.git -b stable
记得修改repo文件中以下内容并提交:
REPO_URL = 'ssh://XXXXXXXX'
REPO_REV = 'stable'
将其中的repo脚本文件拷贝到本地bin文件夹中,配置repo工具,请参考我的另一篇博客:
https://mp.csdn.net/postedit/81117932
ps:其他获取repo的网址:
http://yun.baidu.com/xcloud/csdn/pan/share/link?shareid=1166081275&uk=627255378
21. config manifests
新建manifests仓库,用于提交清单文件
22.set static IP
作为server一般是要用静态IP的,以下方法没有试过,仅供参考
sudo vi /etc/network/interfaces
如下:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
####add following lines####
auto wlo1
iface wlo1 inet static
address 192.168.10.117
netmask 255.255.255.0
gateway 192.168.10.1 # netstat -rn
sudo /etc/init.d/networking restart
23. 设置开机启动
sudo vi /etc/rc.local
添加下面两行:
sudo /etc/init.d/apache2 start
/home/gerrit/review_site/bin/gerrit.sh startexit 0
参考了以下文档,谢谢:
install gerrit:
https://blog.csdn.net/twilightdream/article/details/72953282 : 主要参考这个,但这个gerrit.conf 好像有点问题
https://www.cnblogs.com/eastnapoleon/p/6497802.html :主要参考这个
http://www.hovercool.com/en/Gerrit%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%90%AD%E5%BB%BA
https://blog.csdn.net/mmh19891113/article/details/77196399 :比较详细
install gitosis:
https://www.cnblogs.com/serv/archive/2017/06/10/6980085.html
gerrit war:
https://blog.csdn.net/mmh19891113/article/details/81013994
本文详细介绍了如何在Ubuntu16.04上安装和配置Gerrit代码审查系统、Repo工具以及Gitweb。包括添加Gerrit用户、安装Java、下载Gerrit、配置Apache2反向代理、安装Gitweb、设置用户邮箱和创建组等步骤。整个过程旨在建立一个完善的Git协作环境。
3169

被折叠的 条评论
为什么被折叠?



