1. 代碼倉庫管理:gitlab git
gitlab是一個利用 Ruby on Rails 開發的開源應用程序,實現一個自託管的Git項目倉庫,可經過Web界面進行訪問公開的或者私人項目。程序員
它擁有與GitHub相似的功能,可以瀏覽源代碼,管理缺陷和註釋。能夠管理團隊對倉庫的訪問,它很是易於瀏覽提交過的版本並提供一個文件歷史庫。團隊成員能夠利用內置的簡單聊天程序(Wall)進行交流。它還提供一個代碼片斷收集功能能夠輕鬆實現代碼複用,便於往後有須要的時候進行查找。shell
GitLab 要求服務器端採用 Gitolite 搭建(爲了方便安裝,現已經用gitlab-shell代替Gitolite[1])。[2]瀏覽器
2. 代碼審查:gerrit 服務器
爲了保障代碼庫的穩定性,團隊協做的時候一般須要進行code-review, Gerrit就是爲此而生,gerrit是一種開放源代碼的代碼審查軟件,使用網頁界面。利用網頁瀏覽器,同一個團隊的軟件程序員,能夠相互審閱彼此修改後的代碼,決定是否可以提交,退回或是繼續修改。它使用版本控制系統,Git做爲底層。工具
3. 項目缺陷與進度管理:redmine gitlab
與gitlab的功能有部分重疊,他是一個代碼缺陷管理和跟蹤的軟件,但更專一,天然功能上更增強大些,它整合了項目管理所需的各項功能:日曆、燃盡圖和甘特圖 以協助視覺化表現專案與時間限制,問題跟蹤和版本控制。此外,Redmine也能夠同時處理多個項目。開放源代碼
4. 持續集成:jekins版本控制
Jenkins是一個用Java編寫的開源的持續集成工具。在與Oracle發生爭執後,項目從Hudson項目復刻。code
Jenkins提供了軟件開發的持續集成服務。它運行在Servlet容器中(例如Apache Tomcat)。它支持軟件配置管理(SCM)工具(包括AccuRev SCM、CVS、Subversion、Git、Perforce、Clearcase和和RTC),能夠執行基於Apache Ant和Apache Maven的項目,以及任意的Shell腳本和Windows批處理命令。Jenkins的主要開發者是川口耕介。[2]Jenkins是在MIT許可證下發布的自由軟件。[3]
能夠經過各類手段觸發構建。例如提交給版本控制系統時被觸發,也能夠經過相似Cron的機制調度,也能夠在其餘的構建已經完成時,還能夠經過一個特定的URL進行請求。
5. Wiki系統:media Wiki, Gollum
6. 管理倉庫集合 : repo