先從GitLab說起
GitLab內建的issue管理雖然在不斷的改進,但是從功能上來看缺少很多東西,比如issue的排序沒有,GitLab自動的將已經close的issue放在下面,open的放在上面。但是如果我想根據優先順序做排序。GitLab其實都沒有優先順序的概念,你只能建立一些label來表示。進階尋找也沒有。對於一個小的Team Dev,特別是沒有專業的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 makeapt-get install build-essentialapt-get install ruby1.9.1-dev
apt-get install mysql-clientapt-get install libmysqlclient-dev
遺憾的是,我安裝的時候沒有用Emacs,在遠程終端中執行的命令由於太多,很多之前的命令找不到了。只能以後再補了。
啟動後admin密碼也是admin
注意,下面的啟動方法是測試用的,我會很快描述如何和Nginx整合。
ruby script/rails server webrick -e production