先从GitLab说起
GitLab自带的issue管理虽然在不断的改进,但是从功能上来看缺少很多东西,比如issue的排序没有,GitLab自动的将已经close的issue放在下面,open的放在上面。但是如果我想根据优先级做排序。GitLab其实都没有优先级的概念,你只能创建一些label来表示。高级查找也没有。对于一个小的开发团队,特别是没有专业的QA/Test engineers的团队,GitLab的issue够用了。但是随着团队的发展,我们有了6人规模的QA/Test engineers团队,每天产生很多的issue,也需要检查被标记为修复的issue,所有的工作都开始围绕这issue进行的时候,这个简易版本就显得力不从心,开始让人觉得使用不方便,工作效率降低。
所以GitLab自己也支持和Redmine的集成。先安装最新版本2.3.2的Redmine. 我的操作系统是Ubuntu13.04 64bit server. 安装过程主要参考:
http://www.redmine.org/projects/redmine/wiki/RedmineInstall
中间会碰到不少问题。我都一一解决了。这里简单记录一下,帮助后来者。
1. 安装ruby,ubuntu13.04可以安装的ruby是1.9.1, 通过apt-get 安装。
apt-get install ruby1.9.1
2. 使用已有的MySQL数据库,我的MySQL数据库在我们的GitLab服务器上,我这里只想用一个MySQL server, 因为我已经有自动备份机制管理它。
在安装完subversion,获得最新的稳定发布版的代码后,进入redemin-2.3目录。在config/database.yml文件中编辑第一段:
production: adapter: mysql2 database: redmine host: your_machine username: redmine password: "123456" encoding: utf8
注意,password一定要用双引号括起来,否则后面出错。
3. 运行下面这个命令时会遇到很多错误,都是缺少一些库造成的。
bundle install --without development test
apt-get install make apt-get install build-essential apt-get install ruby1.9.1-dev
apt-get install mysql-client apt-get install libmysqlclient-dev
遗憾的是,我安装的时候没有用Emacs,在远程终端中执行的命令由于太多,很多之前的命令找不到了。只能以后再补了。
启动后admin密码也是admin
注意,下面的启动方法是测试用的,我会很快描述如何和Nginx集成。
ruby script/rails server webrick -e production