想要有個團隊網站,有共同的文件庫、行事曆,還可以指派工作,相關的過程都用Email通知,
嗯~如果有甘特圖那也不錯唷,什麼!還可以跟版本控制軟體結合唷?簽入的程式碼可以跟工作指派連結,那很棒耶!
聽起來有些部分是不是跟TFS有點相似的感覺?我們今天要介紹的就是免費的 Redmine + Subversion 軟體,提供您除了 TFS外的另一個選擇。
嗯~首先要講一下為什麼會有這篇文章的出現,因為Apple的標錯價,小弟也跟著去標了一台,
沒想到居然被評定為資格不合....( 小弟100%符合資格,現在正在與客服人員持續連繫中,不過我想應該是沒望,Apple的態度就是不理~~orz )
後來因為NB想要加Ram到8G,新工作室也需要一台版本控制的server...權衡之下應該是直接買Mac Mini比較划算,
(其實是手癢想要玩MAc Mini),所以就跟我前同事買了一台...
所以就有這篇文章啦! 哈... 回到正題!
Mac OSX 與 Redmine 的邂逅【Part1】安裝 Redmine + Subversion
想要有個團隊網站,有共同的文件庫、行事曆,還可以指派工作,相關的過程都用Email通知,
嗯~如果有甘特圖那也不錯唷,什麼!還可以跟版本控制軟體結合唷?簽入的程式碼可以跟工作指派連結,那很棒耶!
聽起來有些部分是不是跟TFS有點相似的感覺?我們今天要介紹的就是免費的Redmine軟體,
其實我個人有用過TFS2005與2008,其實對於微軟的TFS感覺到相當的方便,
團隊的網站也讓成員彼此之間的文件控管、分享有了不一樣的感受,對於團隊分工幫助真的很大,
Redmine的部分功能與TFS類似,有些功能更是人性化些,例如工作與日曆、甘特圖的結合,而且最棒的是支援繁體中文,
若您沒有預算可以建置TFS的環境,強烈建議使用Redmine+subversion來控管您的專案。
接下來我會撰寫系列的文章,透過下列工具的整合,打造一個小型專案團隊所需要的程式開發環境應用。
- Mac OSX server ( 作業系統)
- Redmine ( 專案管理軟體)
- Subversion ( 版本控制軟體)
- Ankhsvn套件 ( Visual Studio 外掛,讓 Visual Studio.Net與Subversion結合)
以下的文章適合
- 想用版本控制系統,但又不想花錢的人
- 習慣使用TFS卻無法使用TFS的人
- 想建立團隊專案管理網站的人( wiki、文件管理、甘特圖、工作指派、自動通知...)
- 規模較中小型的開發團隊
- 受夠了 Project 跟 Excel 的人 XD
閱讀前,請先了解什麼是 Redmine?
(請自行Google啦!介紹的原文居多,自己啃一下 。 官網 http://www.redmine.org)
或是你也可以直接上官方demo的網站使用 http://demo.redmine.org/ ,這樣比較快了解,
這邊先貼幾張圖
共用日歷,與工作指派結合
甘特圖 (子工作回報完成度,會自動顯示在上面,並自動計算父工作項目的完成度)
安裝前準備
- 安裝工具SSH Secure Shell ( 重要!讓 Windows 可以遠端 Terminal Mac OSX)
- Mac中文化 ( 純粹用起來爽而已)
- 安裝yahoo keykey 輸入法 (同上)
- 學會 vi 指令 ( 重要!)
安裝步驟:
-
安裝 Bitmine的 redmine版 http://bitnami.org/stack/redmine
(Include all the dependencies necessary to run the application, such as Apache, MySQL, Ruby, Rails and Subversion.)
可以省去很多麻煩,強烈建議初學者使用
請使用root 身分安裝,如果要安裝在port80上的話,請將OSX預設的網站關閉。
-
Subversion 環境設定
-
確定SVN版本,因為Mac 已經有內建的svn了,所以目前是1.6.5版
root# svn --version svn, version 1.6.5 (r38866) compiled Jan 26 2010, 17:43:42
-
將內建的SVN變更為 Bitnami 版本
使用SSH登入OSX,修改/etc/bashrc,在最後加入 export PATH=/Applications/redmine-1.0.2-0/subversion/bin:$PATHroot# vi /etc/bashrc root# reboot root# svn --version svn, version 1.6.12 (r955767) compiled Sep 30 2010, 04:37:28
SVN版本已經變成1.6.12,是目前的最新版本
-
建立SVN的主目錄 (你可以建在你喜歡、好記的地方)
'建立主目錄 root# sudo mkdir /Applications/redmine-1.0.2-0/subversion/repos '建立一個專案 root# sudo svnadmin create /Applications/redmine-1.0.2-0/subversion/repos/repoOne '建立三個基本目錄 (以下步驟非必要) root# cd /Applications/redmine-1.0.2-0/subversion/repos/repoOne root# mkdir tmp '建立測試資料夾 root# cd tmp root# svn co file:///Applications/redmine-1.0.2-0/subversion/repos/repoOne root# svn mkdir tags branches trunk root# cd repoOne root# svn mkdir tags branches trunk root# svn ci -m "check in by remhom" '變更使用者為 daemon,讓使用者可以透過 http 來寫入資料,並將資料夾權限更改為755。 root# chown -R daemon /Applications/redmine-1.0.2-0/subversion/repos root# chmod -R 755 /Applications/redmine-1.0.2-0/subversion/repos
註1:不變更為 daemon 的話,後續使用類似像ankhsvn套件時,會發生類似
svn: Can't open file '/XXX/SVN/repos/db/txn-current-lock': Permission denied 的錯誤訊息
註2:資料夾權限不變更為755的後,後續檔案在lock的時候會失敗。
-
設定 apache2 server ,啟用svn模組 root# sudo vi /Applications/redmine-1.0.2-0/apache2/conf/httpd.conf '將下面兩行前的#拿掉 LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so '並加入下列的參數 <location /repos> DAV svn SVNParentPath /Applications/redmine-1.0.2-0/subversion/repos SVNListParentPath on # how to authenticate a user AuthType Basic AuthName "Subversion repository" AuthUserFile /Applications/redmine-1.0.2-0/subversion/subversion.auth # only authenticated users may access the repository Require valid-user </location>
-
設定 SVN的http存取的帳號、密碼
- 建立認證檔案 root# sudo vi /Applications/redmine-1.0.2-0/subversion/subversion.auth (請用 :wq! 寫入檔案)
-
$ sudo htpasswd -cm /Applications/redmine-1.0.2-0/subversion/subversion.auth user1 (帳號請自取)
Password:
New password: // 輸入新增帳號的密碼
Re-type new password:
Adding password for user user1
$ sudo chmod 600 /Applications/redmine-1.0.2-0/subversion/subversion.auth
$ sudo chown _www /Applications/redmine-1.0.2-0/subversion/subversion.auth
-
瀏覽 http://localhost/repos
如果有出現帳號密碼驗證,通過後有顯示網頁的話,就表示svn沒問題,並可以提供http存取。
-
確定SVN版本,因為Mac 已經有內建的svn了,所以目前是1.6.5版
3. 設定redmine與subversion的連結
參考文章:http://asuralyc.blogspot.com/2009/05/svn-websvn-ssl-trac-on-leopard.html