您的位置:首页 > 其它

company code review gerrit VS gitlab

2015-03-06 15:36 267 查看
Code review的意义

程序员的世界里,不同的人,不同的背景,不同的工作经历,水平和习惯各异。

就像罗卜和白菜,谁都不会嫌弃谁,那是因为他们有不同的标准,而在程序的世界里,由开源社区,有无数前辈根据自己毕生的经验总结出的规律,正逐渐成为程序界的标准,有了标准,谁走歪了,谁走正了,一目了然。

中国特殊的国情,导致程序员不受重视,缺乏工程师文化,导致程序员跳槽频率远高于传统行业或互联网的其他职业,导致业务线的代码不断地被***,惨不忍睹,极难维护,不是程序员不认真,而是企业没有指定标准,每个人按照自己最完美的方式来做,自然就是五彩缤纷了。

程序员的工作绝大多数,枯燥无味,特别是工作了多年,各种业务模式都接触过后,都是不断在的重复自己,不但技术从此无法增长,原有的激情也不断流失,沦落为真正的码农,没有思想,没有自我。

优质的代码就像艺术品,多一点少一点都感觉不是那么的自然,统一的规范,让你review代码是感觉团队和一的效果,犹如武侠中人剑合一的境界, 不论程序员怎样的轮换,标准是一样的,是后续管理和维护成本大大降低。

不想看到想吐的代码,不想听到“他妈的,谁写的代码,有基本的素质么?”这样的抱怨,想天天下午来杯咖啡的惬意,就从code review开始吧,下面给你推荐两款review 神奇。

Gerrit 特点及部署
gerrit是一款免费、开源的代码审查器,最早版本采用python编写,后续逐渐改成java && (mysql || H2),效率也得到了大大的提升, 下面给出gerrit安装的介绍,只是关键点的介绍,没有傻瓜的教学。

1)安装git
{{{
apt-get install git

}}}

2)安装gerrit
download gerrit.war包:http://code.google.com/p/gerrit/downloads/detail?name=gerrit-2.1.7-rc1.war

初始化:(前提是要先安装java openjdk)

{{{
java -jar gerrit-$version-rc1.war init -d review_site

然后俺这提示走,选择mysql存储模式,及http的认证方式,smtp也可以自定义设置,当然也可以自己做自己的smtp服务器

执行完成以后,就会在当前目录下创建review_site文件夹,这就是gerrit的工作目录。

}}}

3)安装nginx
{{{
apt-get install nginx

}}}

4)前端用nginx做转发
{{{
server {
server_name review.mastsumassage.cn;
access_log /var/log/nginx/review.log;

location / {
# proxy_set_header host
auth_basic "Code Review Site";
auth_basic_user_file /usr/local/review_sites/etc/passwords;

proxy_pass http://10.5.0.10:8000; proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

}}}

5)gerrit.conf配置
{{{
[gerrit]
basePath = git
canonicalWebUrl = http://10.5.0.10:8000/

[httpd]
listenUrl = proxy-http://10.5.0.10:8000/

}}}

接着访问review.matsumassage.cn就可以看到页面了,但是需要用户名和密码

6)创建用户
根据nginx的passwords文件的配置路径做如下命令:

{{{
htpasswd /usr/local/review_sites/etc/passwords flwu

输入两次密码

}}}

7)用户登录&注册邮箱
用户登录后,此用户会进入到mysql里面,然后需要对该用户设置email,当然如果你配置好了smtp,那这不就不需要了,如果没有,就要手动的为用户注册邮箱,用来开发过程中的邮件通知。

{{{
ssh gerrit gerrit set-account --add-email flwu@lewatek.com flwu

当然这命令运行之前是要做些简单配置的,不然回报gerrit命令不存在

配置如下:在你所在用户的~/.ssh 文件夹下建一个config文件

配置一下内容:

[[[
HOST gerrit
USER admin
PORT 29418
HOSTNAME 10.5.0.10
IdentityFile ~/.ssh/id_rsa

]]]

前提是你在gerrit上把此用户的证书加上去了才可以哦。

}}}

到此gerrit的配置就告一段落了,后续是创建项目,不过这个比较简单。

Gitlab 特点及部署
gitlab是一个开源的代码审查器, 采用Ruby on Rails编写,简单高效,而且功能齐全,界面简单易用,项目管理和群组管理及支持代码多模式审查,部署极其简单,个人强烈推荐。

gitlab官网做了详细的安装步骤,简单高效,请参考:https://about.gitlab.com/downloads/

选择不同的操作系统后,自动给出不同系统的安装方法及步骤。

根据个人安装的经验,有部分需要注意的地方:
提前安装mysql,不设密码,这样gitlab才能导入数据库。

gitlab的软件下载,及其难下,文件太大,而且资源站不多。

gitlab配置简单,按照官网的步骤会同时安装上SMTP邮件服务器,比gerrit要爽呆了。

安装好后,直接ip访问就可以了, 如果需要设置代理、域名可在:/var/opt/gitlab/nginx文件中简单修改。 修改后需要重启。

如需软件包,就留言,留下邮箱地址,谢谢。

本文出自 “架构技术文摘” 博客,请务必保留此出处http://wufaliang.blog.51cto.com/3160882/1617960
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: