在VMware虚拟机里搭建局域网gerrit代码服务器

2025-11-08 02:27:24

1、参考VM下安装ubuntuService16.04

安装完毕后关机状态下占用硬盘2.3G,打开状态下大概占用6.7G,随着代码量不断增加会逐渐占用硬盘空间,不过不用担心,因为android7.0原生代码也不过40G(大概值,包含.git的n多个递交,和checkout出其中一个版本)

1、登陆虚拟机并安装所需要的软件

1.将虚拟机内存设置为1G以上,然后打开虚拟机,首次登陆更新一下软件源

sudo apt-get update

如果出现以下apt-get 被占用的情况最好是等一会儿,可能系统在更新

如果很长时间还是不行那么执行以下代码解除占用:

sudo rm /var/cache/apt/archives/lock

sudo rm /var/lib/dpkg/lock

然后安装必要的软件:

sudo apt-get install vim openjdk-8-jdk openssh-server git git-core nginx apache2-utils

说明:

vim 不装也行,如果熟练使用vi编辑器

openjdk是必须的

openssh-server是为了更少的占用系统资源,用Putty软件登陆虚拟机即可,还有就是gerrit下载不下来的时候可以用本地已经下载好的gerrit.war用Filezilla push上去

git 是必须的

nginx 是有关反向代理的(这个设置比apache2简单,我现在还不会设置apache2的反向代理,老是出错)

apache2-utils是有关登录密码操作的,不要把apache2都装上,跟nginx有冲突

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

1、新建gerrit账户(好多教程包括官方都是新建一个账户不知道为什么,感觉不新建也行)执行一下命令:

1.新建gerrit用户

sudo adduser gerrit

2.设置root密码

sudo passwd root

3.更改sudoers编辑权限

sudo chmod u+w /etc/sudoers

4.给gerrit新增权限

sudo vim /etc/sudoers

添加一行:

gerrit  ALL=(ALL:ALL) ALL

5.保存以后关闭sudoers的编辑权限

sudo chmod u-w /etc/sudoers

6.切换用户

su gerrit

7.进入gerrit用户主目录

cd

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

2、下载gerrit并执行安装操作

1.下载gerrit,编写此文档的时候最新版本为2.13.5所以执行以下命令:

wget http://gerrit-releases.storage.googleapis.com/gerrit-2.13.5.war

2.下载完毕后执行安装,其中review_site是新建一个目录,名字可以改成你喜欢的,但是后文中有关review_site的部分都要替换为你改过的名字

java -jar gerrit-2.13.5.war init -d review_site

3.安装过程简介以及必要说明(别的暂时用不着的都回车掠过了):

Create '/home/gerrit/review_site' [Y/n]y //这里问你是否要创建review_site这个文件夹,输入:y

Location of Git repositories   [git]: //这里问你git仓库的位置,直接回车就行了,默认位置是/home/gerrit/review_site/git/

Database server type           [h2]: //这里问你gerrit使用什么数据库,有h2和mysql可选,我们为了方便使用默认,回车就行了

Authentication method          [OPENID/?]: http //这里问你登陆验证方式,我们选择http

Gerrit Code Review is not shipped with Bouncy Castle Crypto SSL v152

  If available, Gerrit can take advantage of features

  in the library, but will also function without it.

Download and install it now [Y/n]? n //这里问你有个附加插件,要不要下载,理论上应该是输入y的,但是我的网络环境下载不下来,所以就输入了n,大家可以试试,如果能下载下来最好了,如果下载不下来他还会跳到这一步,下载的时候会显示网址,你可以在浏览器中打开,然后手动下载,然后复制到/home/gerrit/review_site/lib/目录下即可

Behind reverse proxy           [y/N]? y // 这里问你是否使用代理,输入y

4.如果以上有输入不对的地方或者不尽人意,可以随时按Ctrl+c取消安装,然后执行

sudo rm -r review_site

删除review_site文件夹,然后从新执行安装程序

5.图片是安装过程

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

3、编辑gerrit配置文件

vim review_site/etc/gerrit.config

编辑之前请执行ifconfig查看本机ip地址,例如我的虚拟机是10.2.14.9,修改为固定ip是最好的,这个。。。麻烦大家自行百度一下。。。

主要有三个地方需要修改,请参考下图,将ip替换为你虚拟机的ip

需要注意的地方:

loginUrl = http://10.2.14.9/gerrit/login/

这个等于号“=”前后都有空格,切记切记!!!

在VMware虚拟机里搭建局域网gerrit代码服务器

4、编辑nginx配置文件

sudo vim /etc/nginx/sites-enabled/default

需要注意的地方就是:

proxy_set_header X-Forwarded-For $remote_addr;

proxy_set_header Host $host;

以上两句话中$前面都有一个空格,切记切记!!!

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

5、生成账户密码文件并添加用户

生成账户密码文件,这里放在了review_site文件夹下面:

touch ./review_site/passwd

添加用户,其中zhaofan是用户名,home311是密码,如果你想给多个局域网中的小伙伴用可以创建多个用户

htpasswd -b ./review_site/passwd zhaofan home311

在VMware虚拟机里搭建局域网gerrit代码服务器

6、重启nginx和gerrit

service nginx restart

./review_site/bin/gerrit.sh stop

./review_site/bin/gerrit.sh start

如果启动失败请查看相应的文件是否填写正确

在VMware虚拟机里搭建局域网gerrit代码服务器

7、进行验证

在本机windows浏览器中输入10.2.14.9会出现Welcome to nginx!证明nginx配置正确

在本机windows浏览器中输入10.2.14.9/gerrit/会出现登陆界面,证明nginx的密码验证正确

然后输入刚才添加的用户名和密码就可以登陆了,切记,第一个登陆的会默认成为gerrit的管理员,第二个登陆的就不是管理员

如果登陆后弹出403界面那说明gerrit.config文件有误,注意空格

登陆成功以后点击右上角的Sign In即可进入初始化设置界面

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

8、配置gerrit后台管理(windows下操作)

输入Full Name也可以不输入

在windows下也安装git然后执行git bash

输入一下命令,告诉git你是谁,这个名字最好跟你注册的gerrit的名字一样

git config --global user.name "zhaofan"

输入命令填写你的邮箱

git config --global user.name "zf452286998@163.com"

获取ssh-keygen密钥,填写刚才的邮箱

ssh-keygen -t rsa -C "zf452286998@163.com"

然后输入cat .ssh/id_rsa.pub或者直接到我的电脑→用户→你的电脑用户→.ssh文件夹里面查看id_rsa.pub,然后复制里面的全部内容填写在网页里面,点击右下角的Add

然后点击最下面的Continue

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

9、1.继续配置gerrit后台管理员的邮箱(Windows下操作)

添加完ssh-keygen后,就可以在windows下的git bash里面进行操作了

测试是否成功:

ssh -p 29418 zhaofan@10.2.14.9

会显示Welcome to Gerrit Code Review欢迎界面就证明成功了,ssh -p 29418是固定格式,后面是用户名+@+gerrit代码服务器地址

2.给gerrit管理员添加验证邮箱

ssh -p 29418 zhaofan@10.2.14.9 gerrit set-accont --add-email zf452286998@163.com zhaofan

格式就是上面那样,email填写刚才的邮箱,保持一致,最后写给哪个用户添加

然后在浏览器中Login Out再登陆一次就可以看到配置里面有邮箱了(没有邮箱不能上传代码,这些操作都是本地操作)

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

1、有个软件叫putty可以方便我们操作虚拟机,让虚拟机后台运行减少内存开销

也就是在windows中就可以操作gerrit代码服务器了,终于告别ubuntu了

输入服务器地址然后输入用户名密码就可以登陆了

这个时候我们可以直接登陆gerrit账户

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

2、gerrit后台管理,添加项目(windos中即可操作)

按照图中所示的Create New Progect,添加一个新项目

输入名字,第二个选择All-Projects,然后勾选第一个框框,会创建成功,然后可以写上这个项目是干什么的

然后在list中就可以看到这个项目了

然后这个项目在服务器中的位置是/home/gerrit/review_site/git中可以看到

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

3、gerrit后台管理,添加项目(windos中即可操作)

对上面进行扩展,方便对项目进行分门别类,我们可以进入git目录下,创建自己的文件夹例如:

cd /home/gerrit/review_site/git

mkdir codetest

然后在浏览器中创建项目的时候输入

/codetest/test2

就可以在这个目录下创建项目了

如果某个项目不用了那么就可以执行命令行

sudo rm -r test2.git

重启浏览器登陆,那么这个项目就没有了

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

4、克隆项目

1.打开git Bash

进入自己的代码目录,例如:d:works

cd d:works

2.然后登陆代码服务器

ssh -P 29418 zhaofan@10.2.14.9

3.然后克隆项目

git clone ssh://zhaofan@10.2.14.9:29418/codetest/test2

4.修改文件

cd test2

vim README

然后写入一行文字保存

5.输入git status查看是否有更改,红色就是有更改

6.执行git add README就可以添加到提交列表了,多个文件以空格区分,如果所有文件都需要递交执行:git add .

7.下载 gerrit的commit-msg文件,有这个文件才会在gerrit中显示出来(只要不是新clone的下载一次就可以了)

scp -P 29418 zhaofan@10.2.14.9:hooks/commit-msg .git/hooks

8.递交到本地

git commit -m "代码初始化"

9.push到gerrit服务器

git push origin HEAD:refs/for/master

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

5、去gerrit服务器合并代码

在界面中Open的位置可以看到刚才递交的代码以及commit描述

我们可以查看文件的修改

1.执行Code-Review+2

2.执行Submit就可以合并代码到服务器了否则别人git clone的还是旧的代码,这一步很关键

然后Open位置就没有了,Marged中就有了说明

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

6、git 其他用法

1.我们新建一个a.txt

vim a.txt 写一句话:这是第二次递交

2.git add a.txt

3.git commit -m "这是第二次递交"

4.git push origin HEAD:refs/for/master

然后去浏览器中查看,注意圆圈圈住的内容,千万别进行Submit

假如这个时候发现少写了一句,继续编辑

5.vim a.txt 加上一句话:哎呀,刚才少写了一行

6.git add a.txt

执行下面这句话,可以修改commit后的那句话也可以不修改

6.git commit --amend

7.git push origin HEAD:refs/for/master

这个时候再看就发生了变化

其他常用命令:

1.查看所有分支

git branch -a

2.查看当前分支

git branch

3.切换到某一个分支

git checkout 分支名字

4.删除某一个分支(可以在网页上新建分支,新建以后同步分支)

git branch -D 分支名字

5.如果修改了一些代码,发现用不着了,也不需要递交到服务器那么可以执行下面的命令,同部为最新的代码,删除更改的代码

git getch --all

git reset --hard origin/master

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

在VMware虚拟机里搭建局域网gerrit代码服务器

7、重启服务器后执行的操作(或者重启电脑)

打开putty或者直接在虚拟机里面登陆gerrit账户

然后执行./review_site/bin/gerrit.sh start即可

1、1.本教程所设计的仅仅供个人使用,很方便,git的使用仅仅是为了测试服务器是否成功,详细的还请自己学习学习,关于不懂的我这里介绍几个网址,我就是从这些网址里面学习总结的。

2.其中关于邮箱验证的问题,我觉得个人使用没有必要,所以把那块儿的设置给砍掉了,一般正常使用是没有问题的。

3.我也没有集成jenkins没有配置gitweb

4.还有就是递交代码的时候只递交代码,别递交乱七八糟的,要不然这个项目会离奇的大,同步一次代码要好久,而且占用服务器和本地硬盘空间。

这个经验比较扯淡,不让添加博客的地址,所以放一个图片看看能不能通过吧!

在VMware虚拟机里搭建局域网gerrit代码服务器

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢