軟體專案管理平臺:repo+gerrit+jenkins+gitlab+sonar+redmine
阿新 • • 發佈:2019-01-21
由有一年沒有寫部落格了,一年前寫過一篇《小團隊開發管理工具:gitlab+redmine+testlink+jenkins》,通過在這一年的實踐(包括公司集中團隊和個人分散式團隊)中發現這套工具使用起來有不少問題。比如:因為使用git作為程式碼庫管理工具,對於程式碼庫的許可權控制就不是很好(這點和svn差別很大);這樣導致對同一個專案會使用多個版本庫,這就帶了多版本庫管理的問題,每次開發人員都需要在不同版本庫間切換,重複作者同樣的工作(pull, status, push, commit 等);對於程式碼質量沒有更好的方式控制,只能靠我們的開發人員自覺等。最近重新整理和收集了關於專案管理工具方面的資源,重新規劃了一套管理工具來解決專案中目前遇到的問題。但是不論工具多完善都是不能代替我們的人員的,工具只是幫助我們更愉快的幹事情
本文說明,本文不想太多介紹關於他們的安裝和配置過程,因為這些由於平臺的不同安裝會有很大的差別,同時網上都能找到很多的安裝資料。但是會對部分的安裝和配置進行簡要說明或者給出可以找到安裝過程的地址。
首先說一下我自己總結的關於專案管理平臺/工具需要解決的問題,同時我認為這些也是這套平臺的理論支撐:
團隊人員管理 團隊任務分配 任務可跟蹤 程式碼管理 程式碼任務可跟蹤 程式碼質量視覺化 程式碼質量可跟蹤 自動化任務管理 可持續整合 方便開發人員寫文件 有助開發人員提高程式碼質量別扯蛋了,開始我們的工具集介紹吧
工具 | 職責 | 描述/註釋 |
---|---|---|
git | 程式碼管理客戶端工具 | 這個沒什麼說的,網上有個線上教程很好《pro git》 |
repo | 基於git的多程式碼庫管理工具 | 這個工具是google出的基於git的多專案管理工具,可以和gerrit很好結合 |
gerrit | 程式碼庫伺服器工具,程式碼稽核工具 | 基於git的線上程式碼審查工具,圍繞它建立程式碼稽核平臺和流程 |
gitlab | 程式碼展示平臺 | gitlab這裡只做為我們的程式碼展示平臺和最終的釋出程式碼庫 |
jenkins | 自動化平臺,自動化測試和部署 | jenkins自動測試/整合/釋出,圍繞它建立可持續整合平臺 |
redmine | 任務管理平臺,缺陷跟蹤平臺 | 這個網上介紹很多,沒有什麼可說的 |
sphinx | 文件編寫工具 | 這個是用python寫的,用於編寫文件的工具,一種即想即所得的工作方式,和win的即見即所的的發方式有很大不同。 外掛:plantUML、graphviz。這兩個外掛肯定會讓你寫設計文件和介面文件得心應手,當然是要一定的適應時間和過程的 |
sonar | 程式碼質量報告聚合工具 | 圍繞它搭建一個程式碼質量報告聚合平臺 |
工具集的工作流程