2012年1月9日 星期一

Project Management System - 專案管理系統 (五) - CodeReview 與 Subversion

在先前的Project Management System - 專案管理系統 (三) - 整合Subversion中,我透過了AnkhSVN與Subversion來達到Check-In程式碼時,需要選取相對應的工作項目,以利程式碼與工作項目的追蹤.

這時我又想起了另外的一個功能"Code Review",在目前正式發表的Visual Studio中並沒有內建此項功能,不過就我所知,在下一版中就會有這項功能了.一方面要跟現在開發的Project Management System整合的話,只有重頭進行開發了.

在開始介紹前,目前的功能將會檢查幾項條件
[*] 開啟的方案必須已經Check-In到Source Control中(Subversion)
[*] 方案必須已經有指定Issue Tracker Setup(AnkhSVN設定)

另外,存取資料的介面都是透過一個WCF的服務來進行處理.

1. 開啟方案後,先選取我們要建立CodeReview的程式碼,使用右鍵選擇"CodeReview -> Create Review Item".


2. 在跳出的視窗中填入相關資料,選擇Send就會建立該項目.


3. 完成後,在Visual Studio的View的選單中找到一個Code Review的項目並點選.


4. 在Code Review的視窗中有預設的兩個項目
[*] Solution: 目前開啟方案中的所有CodeReview項目
[*] Active Document: 目前編輯中檔案的CodeReview項目


5. 在Code Review視窗中使用滑鼠DoubleClick要檢視的項目,會自動將當時建立所標記的程式碼重新標示出來,另外會開啟一個"Code Review Properties"的視窗,裡面記錄著建立時的一些資訊.


6. 選擇"Code Review Properties"視窗中的第二個Icon(Comment)則可以針對該項目進行意見的回應.






7. 另外,如果在點選Code Review項目時,該文件還沒有被開啟,則會自動開啟該檔案.


Code Review項目是根據"檔案在Source Control的路徑"來進行對應,因此未來也可以與工作項目進行整合.

2012年1月3日 星期二

Project Management System - 專案管理系統 (四) - Subversion 與 MSBuild

在上一篇Project Management System - 專案管理系統 (三) - 整合Subversion中,使用Subversion來做為Source Control的工具,如果要做到像TFS可以建立Build的定義,然後自動建置能有什麼樣的方式來達到?

經過一些搜尋和測試後,我採用了SharpSvn這個Library來進行程式碼的存取.

1. Build的定義設定




BuildFileName: 建置時的Visual Studio方案檔名稱
SubversionPath: 要從Subversion中取得的程式碼路徑(包含路徑以下全部)
OutputPath: 取出程式碼放置的路徑

另外,則為建置完成後的佈署動作
CopyOutput: 是否將建置完成的結果複製到指定路徑

DeployFeature: 用於整合先前所提到的佈署機制,可先參考以下介紹:
ASP.NET 程式佈署解決方案 - ASP.NET Deploy Solution
ASP.NET 程式佈署解決方案 - ASP.NET Deploy Solution (二)

為了可以整合此功能,我已經在ASP.NET Deploy Solution網站中,新增了一個WCF的一些功能,可以透過WCF直接上傳包裝好的檔案進行安裝.

選擇了DeployFeature的選項,可以填入上述的WCF Address,就可以在建置完成後直接進行自動佈署的作業.

2. 當按下Build時,會將正在進行編譯的設定進行鎖定.


3. 實際上進行處理Build動作的則為一個Windows Service,主要功能:
[*] 一個WCF服務,做為通知編譯的介面
[*] 從Subversion中取回相關的程式碼檔案
[*] MSBuild的執行

4. 當編譯完成後就可以看到編譯過程中的相關記錄


5. 相關輸出的檔案




6. 如1所提的DeployFeature功能,就會自動進行WebFeature的佈署