linux(Centos6)安装boardreview1.7.1
来源:互联网 发布:和男朋友看电影 知乎 编辑:程序博客网 时间:2024/04/29 02:38
最近要开始团队checkin代码,所以代码审查boardreview很重要,昨天把boardreview搭出来,svnhook那块还没有搞,不过这个简单了。
最关键的是两个问题:
1. boardreview是管理系统,所以依赖的东西特别多。python必须要2.6以上。
2. sourceforge.net被墙了,所以有些东西在pypi上下载后安装就好了。
服务器是centos6,以下是步骤:
安装SVN
echo "for Centos5.5 x86_64bit"echo "refer to: http://wiki.centos.org/HowTos/Subversion"# install apache-svn module.sudo yum install -y mod_dav_svn subversion# start the httpd service.sudo /sbin/service httpd restartsudo /sbin/chkconfig httpd on# modify the httpd confsudo vi /etc/httpd/conf.d/subversion.confecho "add to the end-of-file:"cat<< END<Location /repos> DAV svn SVNPath /var/www/svn/repos AuthType Basic AuthName "Subversion repos" AuthUserFile /etc/svn-auth-conf Require valid-user</Location>END# create user, please input the password.sudo htpasswd -cm /etc/svn-auth-conf winlin# add a guest user for boardreviewsudo htpasswd -m /etc/svn-auth-conf guest# add svn dir.sudo mkdir -p /var/www/svnsudo chown winlin /var/www/svn# create reposcd /var/www/svnsvnadmin create repossudo chown -R apache.apache repos# restart apachesudo /sbin/service httpd restart
安装boardreview
echo "for Centos6 x86_64bit. Centos5.5因为Python是2.4的,无法支持ReviewBoard。"echo "refer to: http://www.reviewboard.org/docs/manual/dev/admin/installation/linux/"####################################################################################################################################################################echo "install mysql"sudo yum install -y mysql-server# set mysql user name to root, password to root.mysqladmin -uroot -p"" password root# create database.mysql -uroot -prootcreate database reviewboard character set utf8;\q####################################################################################################################################################################echo "install docutils for python(docutils.sourceforge.net cannot access)"#sudo easy_install docutilswget http://downloads.sourceforge.net/project/docutils/docutils/0.10/docutils-0.10.tar.gz?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fdocutils%2F%3Fsource%3Ddirectory&ts=1358306675&use_mirror=jaisttar xf docutils-0.10.tar.gz(cd docutils-0.10;sudo python setup.py install)echo "install feedparser"wget http://pypi.python.org/packages/source/f/feedparser/feedparser-5.1.3.tar.bz2#md5=6fb6372a1dc2f56d4d79d740b8f49f25tar xf feedparser-5.1.3.tar.bz2 (cd feedparser-5.1.3;sudo python setup.py install)echo "install python-setuptools python-devel memcached patch"sudo easy_install -U setuptoolssudo yum install -y python-devel memcachedsudo easy_install python-memcachedsudo yum install -y patchsudo easy_install ReviewBoardsudo easy_install mysql-pythonecho "install pysvn for centos, the INSTALL.html in pysvn-1.7.6.tar.gz"sudo yum install -y subversion-develwget http://pysvn.barrys-emacs.org/source_kits/pysvn-1.7.6.tar.gztar xf pysvn-1.7.6.tar.gz(cd pysvn-1.7.6; cd Source;python setup.py backport;python setup.py configure;make;)# copyPythonLib="/usr/lib64/python2.6/site-packages/pysvn"sudo mkdir -p ${PythonLib}sudo cp pysvn-1.7.6/Source/pysvn/__init__.py ${PythonLib}sudo cp pysvn-1.7.6/Source/pysvn/_pysvn*.so ${PythonLib}####################################################################################################################################################################echo "install mod_wsgi"sudo yum install -y mod_wsgisite=review.winlin.comecho "create reviewboard site: ${site}"echo "refer to: http://www.reviewboard.org/docs/manual/dev/admin/installation/creating-sites/#creating-sites"# web: admin, admin# mysql-db: root, rootrb-site install /var/www/${site}sudo chown -R apache /var/www/${site}/htdocs/media/uploadedsudo chown -R apache /var/www/${site}/htdocs/media/extsudo chown -R apache /var/www/${site}/data# copy confsudo cp /var/www/${site}/conf/apache-wsgi.conf /etc/httpd/conf.d/${site}.conf# restart apachesudo /sbin/service httpd restartecho "set hosts:"echo "192.168.11.222 review.winlin.com"echo "open in browser:"echo "http://review.winlin.com"##################################################################################################################################################################### create review request.sudo easy_install -U RBTools# update svn propertyecho "set hosts:"echo "192.168.11.222 review.winlin.com"sudo vi /etc/hosts# checkout the repossvn co http://review.winlin.com/reposcd repos/svn propset reviewboard:url http://review.winlin.com .svn ci -m "update reviewboard url"# do some changes.# for example, change code.# then use post-review to submit review.# --target-group sepcifies the users to review.# --description specifies the description of review, required by publish.# --publish if not publish, it's a draft and we must publish it manually.post-review --summary="support more AMF0 codec" --target-group=reviewer --description="update amf0" --publish --username=winlin --password=winlin
修改svnhook
本打算用reviewboard-svn-hooks,但是看了源码,以及配置文件版本太多,就计划自己写hook了。
其实hook很简单,把/var/www/svn/repos/hooks/pre-commit.tmpl拷贝为/var/www/svn/repos/hooks/pre-commit,并加上执行权限就好了。
在用户提交时,会调用这个脚本,exit 0表示通过,exit 1表示阻止。
这个脚本可以调用boardreview的api,获取审查的信息。
1. 希望简化流程,用一个工具提交review request,提交svn。
2. 希望提交后自动修改review request的状态。
3. 不希望用复杂的技术,越简单越好,不用shelve和mysql等。
4. 退出的错误码希望很多,不仅仅是1.
5. 打印错误信息,譬如提交的格式不对之类。
6. 能支持redmine和boardreview。
7. 这个hook将会开源,这个没有问题,哈哈。
BoardReview1.7.1支持SVN+SSH的bug
现在用easy_install BoardReview已经是1.7.2了,作者说这个bug已经修正了。
##################################################################################################################################################################### BUG1: 无法支持svn+ssh服务器# 添加svn+ssh的respository时,会出现:# Do you trust this host, or do you want to go back and edit the repository information?# 但是两个按钮都是灰色的,这个是个1.7.1的bug,参考:# https://groups.google.com/forum/?fromgroups=#!topic/reviewboard/uHUjwtm-nxY# 有绕过去的方法:# 在boardreview的机器上执行以下命令:# 如果是https,使用证书的,用以下方式:cat <<ENDsvn list https://xxxx将.subversion/auth/svn.simple 拷贝到 /var/www/review.winlin.com/data/.subversion/auth/svn.simpleEND# 如果是svn+ssh,使用ssh的,用以下的方式:cat <<ENDssh svn.rdb.chinacache.net将 .ssh 目录拷贝到 /var/www/review.winlin.com/dataEND
- linux(Centos6)安装boardreview1.7.1
- linux centos6.4 安装
- Linux CENTOS6.* 安装rabbitMQ
- linux(Centos6)安装svn服务器
- Centos6.5(Linux)安装Nginx
- 【Linux】centos6.5 安装nginx
- Linux(centos6.5)安装jdk
- Linux centos6.7 安装oracle
- linux (centos6.3) 安装mysql
- linux(centos6) 安装mysql5.7
- 【Linux】Centos6.8安装rabbitmq
- 【Linux】Centos6.8安装Redis
- 【Linux】Centos6.8安装Nginx
- 【Linux】Centos6.8安装MongoDB
- 【Linux】Centos6.8安装docker
- linux centos6 yum 安装lamp
- Linux CentOS6/7安装ffmpeg
- linux Centos6.4 安装ssh
- 无限的童年回忆---赣州人的童年
- Windows上多线程同步相关的MFC类(1)
- suse linux安装及启动telnet
- 政客工程师
- javascript对象的property和prototype是这样一种关系
- linux(Centos6)安装boardreview1.7.1
- 华夏互联全线降价,争做IDC行业的"万科"
- nginx服务器的半连接
- 利用Piranha实现Web负载均衡
- 求丑数
- Dev设计器打不开
- SELECT INTO 技巧:0 & 1问题
- DVRRDK, EZSDK和DVSDK这三者有什么区别
- 机器学习之SIFT&SVM