分类: LINUX
2011-02-06 23:29:41
现在很多公司用 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 # wget
编译和安装 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
编译和安装 rubygems,安装 ruby mysql 支持:
# tar zxvf rubygems-1.3.5.tgz # cd rubygems-1.3.5 # ruby setup.rb # gem sources -r # gem sources -a # 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 用户:
# wget # /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
启动 redmine:
# su - redmine -c "ruby script/server webrick -e production"
访问 redmine,打开浏览器访问 ,输入默认用户名密码登陆:admin/admin
安装 Git,默认 respository 没有 git,需要先安装额外的源:
# rpm -Uvh # yum update # yum install 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 的基本使用和配置可以看 “CentOS 5 上配置 Trac 和 Git“。
安装完 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"