如何整合JIRA、FishEye、Crucible進行CodeReview

Atlassian的東西相信大家都不陌生,知道Confluence的有木有,用過JIRA的有木有,雖然說這些產品都要收費,不過對於學校和開源組織都可以申請免費License,也可以申請試用。

 

前段時間爲了方便做CodeReview,嘗試了一下FishEye+Crucible的組合,FishEye 可以方便地查看代碼,而Crucible 則是進行CodeReview的利器。因爲同屬Atlassian,它們又可以與JIRA進行整合,在JIRA中管理項目Issue,根據ID關聯代碼變更及CodeReview。

1. 系統配置

如何搭建這些系統就不多說了,網上教程很多,FishEye+Crucible有整合好的安裝包,可以獨立運行,JIRA需要另外安裝。Atlassian的官方網站上推薦使用Standalone安裝包,如果選擇WAR/EAR方式,官方不支持將多個產品安裝到同一個Tomcat中 。我選擇的安裝方案如下:

  • FishEye+Crucible 2.4.3整合獨立安裝包,例如http://digitalsonic.net:8060
  • JIRA 4.2部署於Tomcat容器中,例如http://digitalsonic.net(資源有限,這個Tomcat上還部署了Hudson和Sonar)
  • 所有數據庫統一放在MySQL中(默認的數據庫方案是不能適用於正式場景的)

1.1 JIRA端配置

 

在“JIRA Administration”的“FishEye Configuration”中,配置上FishEye的地址http://digitalsonic.net:8060,開啓Wiki Render和Crucible集成;在“Repository Mappings”中配置FishEye的代碼庫與JIRA項目之間的映射關係,這樣才能在兩者之間進行跳轉;最後,在“Trusted Applications”配置受信任的應用程序,同樣填上FishEye的地址,按照指示操作就行了。

 

開啓“Global Settings”中的“Sub-Tasks”功能,以及“General Configuration”中的“Accept remote API calls”和“Allow unassigned issues”。

1.2 FishEye、Crucible端配置

 

進入“Adminstration”界面,在“Application Links”中添加一個新的鏈接,直接輸入JIRA的地址按照提示操作即可。

FishEye最好能用新版本的,據說老版本在索引代碼庫時有點問題,佔用的存儲空間會比較大。

2. 開始Review

開始之前,當然是要在JIRA、FishEye中建立對應的項目,幾位關鍵角色都要在這些系統上有自己的賬號。FishEye上可以先對代碼庫進行初始化掃描,這樣哪怕不做CodeReview,看看代碼也是好的。

 

創建CodeReview,這裏有兩種方式:

  1. 在Crucible的界面中點擊“Create Review”
  2. 在JIRA的某個ISSUE頁面中,進入“Source”標籤頁,點擊“Create crucible review”(這麼做的好處是可以直接針對一個ISSUE變更的所有代碼創建CodeReview)

如果選擇前者,需要在後續的對話框中選擇項目,以及CodeReview內容,這裏有幾種方式,建議選擇前3種——瀏覽變更集(Browse Changesets)、查看代碼庫(Explore Repositories)、查找文件,我用的比較多的是瀏覽變更集,其中根據代碼庫、分支等內容選擇CodeReview範圍。

 

點擊“Done”之後可以編輯本次Review的明細內容,選擇Author和Reviewers,可以是同一個人,但最好還是不要自己Review自己,在Edit Review Detail的界面裏還可以關聯Issue,設定目標,設定有效期等等。

 

開始Review後,可以在左側選中變更的文件,查看變更內容,在需要添加Review說明的代碼上點擊一下就能輸入文本了。每個Reviewer都可以獨立進行Review,分別完成自己的工作,自己“Complete”就行了。

 

待所有人都完成了各自的Review後,就可以總結並關閉本次Review。點擊“Summarize”後輸入總結,如果確認沒什麼需要補充的評論 了,直接“Close Review”即可,不然就“Continue Without Close”。這裏和JIRA一樣,Reivew關閉後,也可以做Reopen。

 

建議在幾個系統中同一人的用戶名都能統一,並且與SVN中的用戶名也能一直,這樣查看時會比較方便。另外,爲了能關聯SVN的變更與JIRA中的Issue,要在提交代碼時在註釋裏填寫Issue ID ,不然就關聯不上了。

 

 

參考文檔:

  1. Integrating JIRA with FishEye
  2. JIRA Integration in FishEye
  3. Crucible User's Guide

(查看官方文檔時請注意使用的軟件版本)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章