小團隊開發管理工具:gitlab+redmine+testlink+jenkins


由於工作需要,需要為團隊搭建一個高效可用的開發管理平台。現在可用的開發管理工具很多開源的、商業的,網上也有很多博客和文章。經過2周的學習比較,再結合自己的項目特點,最后選定工具集:gitlab+redmine+testlink+jenkins。

項目管理和bug跟蹤工具:redmine。整個項目組一直使用的管理工具,這次只是做了升級(2.4.0)

代碼管理工具:gitlab。原有的代碼管理使用的是subversion,這次改用git的原因是需要開發人員支持離線操作。

測試管理工具:testlink。測試管理工具是新加入的,我唯一能找到的原因是開源、免費、可以和redmine集成

持續集成工具:jenkins。持續集成工具是新加入的,因為會多項 目並行,同時采用分布式設計和開發,所以在開發和測試階段項目部署比較頻繁。我們原來都是手動操作發布,相當麻煩、耗時,並且出錯率還很高。所以這次使用 了持續集成工具,為什么選用jenkins,只是看到了網上介紹感覺安裝簡單、操作簡單、配置簡單。呵呵大笑一切從簡嘛

 

這次工具集的搭建涉及到的工具比較多,所以下面把我所用到的軟件包和環境羅列出來,方便大家查找:

環境:

ubuntu server 12.04

ip:192.168.1.18

軟件包:

ruby 2.0.0

 

apache2

php 5.5.6 (必須大於5.4)

redmine 2.4.0

testlink 1.9.9

jenkins ver.1.540

git 1.8.5.rc2 (必須大於1.8)

gitlab 6.2.4

gitlab-shell 1.7.8

以上就是這次搭建平台最終運行所需的軟件包,當然這里並不是在安裝過程中用到的所有(比如:g++,ruby中的gem等,由於這些只是在安裝工程 中使用,對我們最終運行沒有太大影響,並且在安裝的時候對版本的需求都會有提示,這里沒有羅列出來)。建議:redmine里面有很多的插進,可以方便大 家在項目中的使用。

對於一些安裝過程,如果沒有別的要求和錯誤,我會直接引用官方安裝過程或者其他可用的安裝文章。好了,我們開始吧:

一、gitlab安裝:

gitlab安裝直接參考官方安裝文檔就可以了https://github.com/gitlabhq/gitlabhq/blob/master/doc/install/installation.md

根據這個文檔 ruby 2.0.0 也安裝好了

二、jenkins安裝:

參考:https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu

 

 wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -  sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'  sudo apt-get update  sudo apt-get install jenkins

這樣安裝過后系統會自動加入jenkins服務,使用 sudo /etc/init.d/jenkins [start|stop|restart] 就可以啟動停止jenkins了

三、redmine安裝:

 

四、testlink安裝:

php5.5.6安裝:

apt-get install python-software-properties
sudo add-apt-repository ppa:ondrej/php5
sudo apt-get update
sudo apt-get install php5-cli php5-fpm php-pear php5-mysql libcurl4-openssl-dev
sudo apt-get install php5-dev
sudo pecl install pecl_http
順帶附上將php5.5.6降到php5.3的方法: #安裝

ppa-purge apt-get install ppa-purge 

#移除源 

ppa-purge ppa:ondrej/php5 apt-get update && apt-get upgrade -y && apt-get autoremove -y && apt-get autoclean -y

 

五、各個平台集成:

各平台集成方案

1、gitlab和jenkins集成

http://hyhx2008.github.io/li-yong-jenkinsgitlabda-jian-chi-xu-ji-cheng-cihuan-jing.html

2、redmine和gitlab集成

這里集成需要注意,redmine在選擇git版本庫的時候,由於不同用戶運行會遇到權限問題,有三種解決方案

a、改已經存在的GIT版本的文件讀寫權限:改為redmine運行用戶可以訪問;

b、將GIT版本庫以redmine運行用戶的身份,創建在redmine安裝目錄中;

c、把git代碼庫目錄試試同步到redmine可以訪問的目錄,即為redmine創建一個代碼庫。這里有兩種方案可用

c1、使用git的hooks功能

c2、使用目錄同步工具

這里根據我們的情況,我選擇 c2 方案,使用工具是rsync+inotify-tools,同時出發redmine自動抓取。腳本如下:

#!/bin/sh
src=/home/git/repositories
des=/home/redmine/repo
/usr/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format  '%T %w%f' \
-e modify,delete,create,attrib \
${src} \
| while read  file
        do
                rsync -ac ${src}/ ${des} &&
                echo "${src} was rsynced"
                echo "---------------------------------------------------------------------------"
                rake -f /home/redmine/redmine-2.4.0/Rakefile RAILS_ENV=production redmine:fetch_changesets
        done

3、redmine和testlink集成

 

4、redmine和jenkins集成

 

5、jenkins和testlink集成

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM