我的ubuntu是14.04版本,搭建gerrit之前需要准备的软件有:
1.安装git
2.安装jdk
3.安装apache2
4.安装gerrit
前面3步就不详细说了,直接讲第4步gerrit的安装,下载方式可以从官网或者github上下载,我下载的是gerrit-2.14.6.war,执行以下命令安装即可:
java -jar gerrit-2.14.6.war init -d gerrit_test
gerrit_test为安装gerrit的目录,安装过程中会有很多安装提示,我挑几个必要的设置讲下,其他的可以在后面生成的配置文件里面修改。
1.Create '/home/android1404/Downloads/gerrit_test' [Y/n]? Y
2.Database server type [h2]:h2
3.Authentication method [openid/?]:http
4.Install Verified label [y/N]?y
5.Copy gerrit-2.14.6.war to gerrit_test/bin/gerrit.war [Y/n]? Y
6.Behind reverse proxy [y/N]?y
其他都可以回车跳过,最后提示安装的插件都选择y即可,安装成功后会在你的浏览器上弹出一个欢迎的网页出来
接下来讲下主要的配置步骤:
1.配置gerrit
打开gerrit.config文件,路径是在gerrit的安装目录gerrit_test/etc/下,我的修改如下
2.配置apache2反向代理
1)开启SSL、Proxy、Rewrite等模块:
cd /etc/apache2/mods-enabled,链接如相关文件
ln -s ../mods-available/proxy.load
ln -s ../mods-available/proxy.conf
ln -s ../mods-available/proxy_http.load
ln -s ../mods-available/proxy_balancer.conf
ln -s ../mods-available/proxy_balancer.load
ln -s ../mods-available/rewrite.load
ln -s ../mods-available/ssl.conf
ln -s ../mods-available/ssl.load
ln -s ../mods-available/socache_shmcb.load
ln -s ../mods-available/slotmem_shm.load
2)打开/etc/apache2下httpd.conf文件,没有就创建,配置如下
3)打开/etc/apache2/ports.conf文件增添一行对8004端口的监听
Listen 8004
4)打开/etc/apache2/apache2.conf,新添加如下一行,使httpd.conf文件生效
ServerName localhost:8004 //此行可加可不加,加了为了防止启动apache服务的时候弹出警告信息
Include httpd.conf
3.配置gerrit账户和密码
1)创建第2步所用的pwd文件
2.htpasswd -b /home/android1404/Downloads/gerrit_test/pwd admin 123456(管理员)
htpasswd命令是
apache2-utils软件包中的一个工具。如果系统中还没有安装的话,通过如下命令进行安装:
sudo apt-get install apache2-utils
4.启动gerrit和appache服务
1)sudo Downloads/gerrit_test/bin/gerrit.sh start
2)sudo /etc/init.d/apache2 start
5.访问gerrit 管理界面 http://192.168.11.145:8004/
输入我们创建的账户密码即可,至此基本的搭建流程已经完毕
后续问题总结:
1.搭建完后在gerrit新建了一个新的仓库,然后拷贝的仓库路径是http开头的,结果push的时候提示要输入用户名和密码,弄了半天一直提示fatal: Authentication failed,网上查了各种原因最后发现用户名是服务器上的Username,但密码却不是你的登录密码,这个密码要在gerrit网页上获取,可以进入到用户设置,点击HTTP Password,如果没有密码,点击创建密码,生成的密码就是所需密码