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的佈署

沒有留言:

張貼留言