如何在Linux上部署gerrit 服务

如何在Linux上部署gerrit 服务,第1张

1、安装ubuntu的时候可选包要选择上openSSH,如果没有选择的话,系统安装完成后手工安装openSSH服务

2、(挪至第7步)

3、安装java 运行环境,大概需要100M的内容:

sudo apt-get install openjdk-6-jre-headless

4、安装邮件服务:

postfixsudo apt-get install postfix

注意,安装过程中会提示输入主机名,gemfield此处输入的是 civilnet.cn。

5、安装git服务

sudo aptitude install git-core git-doc

6、创建gerrit用户:

sudo adduser gerrit

sudo su gerrit

cd ~

7、下载gerrit包,这次编辑时gerrit的版本是2.8.0(最新版本)

8、安装gerrit:

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

9、安装过程中会出现交互式的提问,除非gemfield本文明确指定,否则都是默认值。

10、配置完上面的步骤后,gerrit服务会自动启动。以后可以使用如下命令手工启动:/home/gerrit/review_site/bin/gerrit.sh start

11、通过如下步骤设置gerrit服务开机自启动:

sudo ln -snf /home/gerrit/review_site/bin/gerrit.sh /etc/init.d/gerrit.sh

sduo ln -snf /etc/init.d/gerrit.sh /etc/rc2.d/S90gerrit

sduo ln -snf /etc/init.d/gerrit.sh /etc/rc3.d/S90gerrit

服务自动启动脚本/etc/init.d/gerrit.sh需要通过/etc/default/gerritcodereview文件来提供一些配置。该文件的内容为:

GERRIT_SITE=/home/gerrit/review_site

NO_START=0

12、配置apache的反向代理:

ProxyRequests Off

ProxyVia Off

ProxyPreserveHost on

Order deny,allow

Allow from all

ProxyPass /code/ http://civilnet.cn:8080/

AuthType Basic

AuthName "CivilNet Code Review"

Require valid-user

AuthUserFile /home/gerrit/review_site/etc/gerrit.password

13、添加http认证用户(e.g. gemfield):

htpasswd -m /home/gerrit/review_site/etc/gerrit.password gemfield

New password:

Re-type new password:

14、可以通过浏览器访问 http://civilnet.cn/code/ 来使用gerrit了。

15、第一个注册的人就是管理员哦,比如gemfield。

16、现在你也可以去 /home/gerrit/review_site/etc/gerrit.config文件中查看刚才的配置内容了。

访问gerrit的h2数据库步骤:

1、从 https://code.google.com/p/gerrit/downloads/list 页面下载gerrit的war包到某个目录

2、数据库准备,懒得设置用了默认的H2 DB

3、创建gerrit2用户,初始化

sudo adduser gerrit2

sudo su gerrit2

java -jar gerrit.war init -d /home/gerrit2/site

一些交互式提问,默认或自定义,同样懒得设置apache,认证用了 development_become_any_account 选项,反向代理没有;

设置完成就自动启动了~如果没有启动手动 ./site/bin/gerrit.sh start

4、创建标准 后台服务连接

sudo ln -snf `pwd`/site/bin/gerrit.sh /etc/init.d/gerrit.sh

sudo ln -snf ../init.d/gerrit.sh /etc/rc3.d/S110gerrit

sudo ln -snf ../init.d/gerrit.sh /etc/rc5.d/S110gerrit

5、登陆http://10.20.20.XX:9080,页面右上角点击become :

注册用户 fullname emailaddress name ssh公钥(.ssh/id_rsa.pub)设置保存,

设置保存后,在客户端验证一下,命令及输出如下:

[$name@$hostname ~]$ ssh -p 29418 $name@10.20.20.XX

****Welcome to Gerrit Code Review****

Hi $fullname, you have successfully connected over SSH.

Unfortunately, interactive shells are disabled.

To clone a hosted Git repository, use:

git clone ssh://$name@$hostName.$domainname:29418/REPOSITORY_NAME.git

Connection to 10.20.20.XX closed.

6、从gerrit服务器,clone代码工

git clone ssh://$name@10.20.20.XX:29418/$repoName.git

7、进入项目目录cd $repoName 安装hook钩子的目的是在提交信息中自动创建 'Change-Id:' 标签

scp -p -P 29418 $name@10.20.20.XX:hooks/commit-msg .git/hooks/

8、修改提交

9、push 到gerrit服务器

git push origin HEAD:refs/for/$branchName

#直接git push会失败,原因还不知道~~ ~~

10、push成功后web页面All->open和My->changes标签下面,就可以看到提交的修改了

11、web的review没有approve选项,需要在project的accecss中增加相应权限还有后面的verify权限也是类似 *** 作


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11387136.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存