现在我们用 Trac + Git 来管理所有的项目,早些时候是由 Trac + Subversion 管理的,和 Git 比较起来 Subversion 简直就是龟速。虽然 前段时间换成了 Git 做版本控制,但是 web 管理界面还主要是在用 Trac 来管理,现在随着项目增多,人员变多,管理 Trac 也变得越来越麻烦。在 Trac 里改个小地方就需要动代码,比如删除 “about and help/guide, search” 导航条还需要改代码,太多需要 hack 的地方。Trac 不直接支持多项目管理(可以通过插件支持),不能很方便的分配权限给不同的项目,不适合多项目管理。现在我们需要一个能象 Github、Google Code 那样能自己注册,自己管理的多用户版本控制和项目管理工具。Redmine 是一个用 Ruby on Rails 写的类似 Trac 的工具,功能比 Trac 丰富一些,内置常用的 SCM,比如:Subversion, Git 和 Mercurial,更重要的是支持多项目多人管理、自己管理自己的项目、界面简单清晰、装上就可以用没有太多需要 hack 的地方,先用一段时间如果感觉好就打算替代 Trac.
安装必要的软件包
首先安装必要的库和软件包:
- # yum install zlib-devel curl-devel expat-devel gettext-devel
- # yum install MySQL-server mysql-devel openssl-devel gcc make
下载 ruby 和 rubygems:
- # wget http://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7.tar.gz
- # wget http://rubyforge.vm.bytemark.co.uk/files/rubygems/rubygems-1.3.5.tgz
编译和安装 ruby:
- # tar zxvf ruby-1.8.7.tar.gz
- # cd ruby-1.8.7
- # ./configure
- # make
- # make install
- # cd ext/zlib
- # ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib
- # cd ../../
- # make
- # make install
- # tar zxvf rubygems-1.3.5.tgz
- # cd rubygems-1.3.5
- # ruby setup.rb
- # gem sources -r http://gems.rubyforge.org/
- # gem sources -a http://gems.tron.name/gems.rubyforge.org/
- # gem install mysql
安装 ruby on rails,指定版本号因为 redmine 需要这个版本:
- # gem install rails -v=2.1.2
- # gem list
- *** LOCAL GEMS ***
- actionmailer (2.1.2)
- actionpack (2.1.2)
- activerecord (2.1.2)
- activeresource (2.1.2)
- activesupport (2.1.2)
- mysql (2.8.1)
- rails (2.1.2)
- rake (0.8.7)
安装和配置 Redmine
下载 redmine 并增加一个 redmine 用户:
- # wget http://rubyforge.org/frs/download.php/66633/redmine-0.8.6.tar.gz
- # /usr/sbin/adduser redmine
创建 redmine 需要的数据库:
- # mysql -u root -p
- Enter password:
- Welcome to the MySQL monitor. Commands end with ; or \g.
- Your MySQL connection id is 50
- Server version: 5.1.40 MySQL Community Server (GPL) by Remi
- Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
- mysql> create database redmine character set utf8;
- mysql> grant all on redmine.* to 'redmine'@'localhost' identified by 'yourpassword';
- mysql> flush privileges;
配制 redmine 环境和数据库:
- # rm -rf /home/redmine
- # mv redmine-0.8.6 /home/redmine
- # cd /home/redmine/config
- # cp database.yml.example database.yml
- # vi database.yml
- production:
- adapter: mysql
- database: redmine
- host: localhost
- username: redmine
- password: yourpassword
- encoding: utf8
- # cd /home/redmine
- # rake db:migrate RAILS_ENV="production"
- # chown -R redmine:redmine /home/redmine
- # chmod -R o-rwx,g-rwx /home/redmine
- # su - redmine -c "ruby script/server webrick -e production"
访问 redmine,打开浏览器访问 http://your-server-ip-address:3000,输入默认用户名密码登陆:admin/admin
安装和配置 Git
安装 Git,默认 respository 没有 git,需要先安装额外的源:
配置和使用 Git,注意这里要修改 git_repositories 的权限,以便以 su – redmine 用户启动 redmine server 的时候有权限访问到 git_repositories 目录,所以最好把 git_repositories 建在 redmine 的下面:
- # git config --global user.name "vpsee"
- # git config --global user.email "admin@vpsee.com"
- # mkdir -p /home/redmine/git_repositories/project1
- # cd /home/redmine/git_repositories/project1
- # git init
- # git add .
- # git commit
- # chown -R redmine:redmine /home/redmine/git_repositories
集成 Git 到 Redmine
安装完 Git 和 Redmine 后,需要集成 Git 到 Redmine,登陆 redmine 后,新建一个 project,在 “settings->respository->SCM” 选择 git,在 “Path to .git directory” 加上 git 路径就可以了,而且还需要让 redmine 知道有 git repository 加进来。
- # su - redmine -c "ruby script/runner "Repository.fetch_changesets" -e production"