TeamCity

TeamCity 發行 Octopus 部署套件

先到Octopus建立一個專案 [![](http://4.bp.blogspot.com/-FDLLsc4giU4/VCkiHt_yQyI/AAAAAAAABrU/gvNiJ8w3SsI/s1600/01.%E9%96%8B%E6%96%B0%E5%B0%88%E6%A1%88.png)](http://4.bp.blogspot.com/-FDLLsc4giU4/VCkiHt_yQyI/AAAAAAAABrU/gvNiJ8w3SsI/s1600/01.%E9%96%8B%E6%96%B0%E5%B0%88%E6%A1%88.png) 選擇發行套件 [![](http://2.bp.blogspot.com/-Z8lhnIjJIxE/VCkiHiZxCGI/AAAAAAAABrc/XF7oPi2g3Mk/s1600/02.%E6%96%B0%E5%A2%9E%E6%AD%A5%E7%BD%B2Step.png)](http://2.bp.blogspot.com/-Z8lhnIjJIxE/VCkiHiZxCGI/AAAAAAAABrc/XF7oPi2g3Mk/s1600/02.%E6%96%B0%E5%A2%9E%E6%AD%A5%E7%BD%B2Step.png) 就可以找到剛建置出來的套件 [![](http://4.bp.blogspot.com/-Cwnpf4xmYks/VCkiHjpMRdI/AAAAAAAABrY/IL4ip64ddY8/s1600/03.%E9%81%B8%E6%93%87%E5%A5%97%E4%BB%B6.png)](http://4.bp.blogspot.com/-Cwnpf4xmYks/VCkiHjpMRdI/AAAAAAAABrY/IL4ip64ddY8/s1600/03.%E9%81%B8%E6%93%87%E5%A5%97%E4%BB%B6.png) 回到TeamCity新增一個部署設定 [![](http://1.bp.blogspot.com/-2hVQBVI5FGg/VCkiIYd3vPI/AAAAAAAABrg/30Q4soZJvkU/s1600/04.%E6%96%B0%E5%A2%9E%E9%83%A8%E7%BD%B2%E5%B0%88%E6%A1%88.png)](http://1.bp.blogspot.com/-2hVQBVI5FGg/VCkiIYd3vPI/AAAAAAAABrg/30Q4soZJvkU/s1600/04.%E6%96%B0%E5%A2%9E%E9%83%A8%E7%BD%B2%E5%B0%88%E6%A1%88.png) 在Trigger中新增一個建置完成觸發事件,指定到對應的專案 [![](http://4.bp.blogspot.com/-ROmAs_Tl5qY/VCkiIi3CO_I/AAAAAAAABrk/iNQEOH-dwKY/s1600/05.%E5%BB%BA%E7%BD%AETrigger%E6%96%B0%E5%A2%9E.png)](http://4.bp.blogspot.com/-ROmAs_Tl5qY/VCkiIi3CO_I/AAAAAAAABrk/iNQEOH-dwKY/s1600/05.%E5%BB%BA%E7%BD%AETrigger%E6%96%B0%E5%A2%9E.png) 在關聯性設定中,也把這個專案指定進來 [![](http://4.bp.blogspot.com/-IaQZvFCbfA4/VCkiItMFcII/AAAAAAAABro/ppW2dwwNADI/s1600/06.%E6%96%B0%E5%A2%9E%E9%97%9C%E8%81%AF.png)](http://4.bp.blogspot.com/-IaQZvFCbfA4/VCkiItMFcII/AAAAAAAABro/ppW2dwwNADI/s1600/06.%E6%96%B0%E5%A2%9E%E9%97%9C%E8%81%AF.png) 在版號的地方才能用%dep開頭的設定,取得這個專案目前的版號 [![](http://3.bp.blogspot.com/-mJjKvkDGHnE/VCkiI-EY_EI/AAAAAAAABrs/EL5AkEmhWyg/s1600/07.%E8%A8%AD%E5%AE%9A%E7%89%88%E8%99%9F.png)](http://3.bp.blogspot.com/-mJjKvkDGHnE/VCkiI-EY_EI/AAAAAAAABrs/EL5AkEmhWyg/s1600/07.%E8%A8%AD%E5%AE%9A%E7%89%88%E8%99%9F.png) 建置步驟選擇OctopusDeploy: Create release [![](http://1.bp.blogspot.com/-N3IP4kF2I58/VCkiJNkJraI/AAAAAAAABrw/57LbhpwOkfs/s1600/08.%E9%81%B8%E6%93%87%E5%BB%BA%E7%BD%AE%E9%83%A8%E7%BD%B2.png)](http://1.bp.blogspot.com/-N3IP4kF2I58/VCkiJNkJraI/AAAAAAAABrw/57LbhpwOkfs/s1600/08.%E9%81%B8%E6%93%87%E5%BB%BA%E7%BD%AE%E9%83%A8%E7%BD%B2.png) 輸入Octopus URL和API Key 再輸入專案名稱和要連立版本的版號 如果要順便部署環境的話,就在Deploy To中輸入環境名稱 再把Wait for deployment to complete勾起來就行了 [![](http://1.bp.blogspot.com/-O_2Habk45Yo/VCkiJQdQ-EI/AAAAAAAABr0/11DQQ0IDrPQ/s1600/09.%E8%A8%AD%E5%AE%9A%E5%BB%BA%E7%BD%AE.png)](http://1.bp.blogspot.com/-O_2Habk45Yo/VCkiJQdQ-EI/AAAAAAAABr0/11DQQ0IDrPQ/s1600/09.%E8%A8%AD%E5%AE%9A%E5%BB%BA%E7%BD%AE.png) 建置成功 [![](http://1.bp.blogspot.com/-l4WiqDvB-9M/VCkiJqUgMiI/AAAAAAAABr4/tR0CZlH9JCA/s1600/10.%E5%BB%BA%E7%BD%AE%E6%88%90%E5%8A%9F.png)](http://1.bp.blogspot.com/-l4WiqDvB-9M/VCkiJqUgMiI/AAAAAAAABr4/tR0CZlH9JCA/s1600/10.%E5%BB%BA%E7%BD%AE%E6%88%90%E5%8A%9F.png) 自動新增一個部署版本了 [!


TeamCity 打包 Octopus 部署套件

首先新建一個建置設定 [![](http://4.bp.blogspot.com/-1hnowCI7ZBM/VCkcK6DJ23I/AAAAAAAABpM/tcbGZTMFF7I/s1600/01.%E9%96%8B%E6%96%B0%E5%B0%88%E6%A1%88.png)](http://4.bp.blogspot.com/-1hnowCI7ZBM/VCkcK6DJ23I/AAAAAAAABpM/tcbGZTMFF7I/s1600/01.%E9%96%8B%E6%96%B0%E5%B0%88%E6%A1%88.png) 設定SVN路徑 [![](http://4.bp.blogspot.com/-MbNEf3JsBJo/VCkcPahMcqI/AAAAAAAABpU/zj_3Q7qtu74/s1600/02.%E8%A8%AD%E5%AE%9Asvn.png)](http://4.bp.blogspot.com/-MbNEf3JsBJo/VCkcPahMcqI/AAAAAAAABpU/zj_3Q7qtu74/s1600/02.%E8%A8%AD%E5%AE%9Asvn.png) SVN的細部設定 [![](http://4.bp.blogspot.com/-j2ZooaYc4jU/VCkcXM4-fRI/AAAAAAAABpc/y22W60orsug/s1600/04.%E7%B4%B0%E9%83%A8%E8%A8%AD%E5%AE%9A.png)](http://4.bp.blogspot.com/-j2ZooaYc4jU/VCkcXM4-fRI/AAAAAAAABpc/y22W60orsug/s1600/04.%E7%B4%B0%E9%83%A8%E8%A8%AD%E5%AE%9A.png) 取用trunk為根目錄 [![](http://1.bp.blogspot.com/-SNggN_J2dx4/VCkcbDRKANI/AAAAAAAABpk/CnjPPxJyhcs/s1600/03.%E6%8C%87%E5%AE%9Atrunk.png)](http://1.bp.blogspot.com/-SNggN_J2dx4/VCkcbDRKANI/AAAAAAAABpk/CnjPPxJyhcs/s1600/03.%E6%8C%87%E5%AE%9Atrunk.png) 設定版號 [![](http://4.bp.blogspot.com/-58uT3yqTydA/VCkcfSDV4JI/AAAAAAAABps/BATMEcHU7zM/s1600/07.%E7%89%88%E8%99%9F.png)](http://4.bp.blogspot.com/-58uT3yqTydA/VCkcfSDV4JI/AAAAAAAABps/BATMEcHU7zM/s1600/07.%E7%89%88%E8%99%9F.png) 第一個建置步驟是NuGet Installer,選擇方案檔即可 如果有自訂的NuGet來源,要記得輸入 [![](http://2.bp.blogspot.com/-ysXS6Jmxytc/VCkckW2udOI/AAAAAAAABp0/xOI5ZJgOsjM/s1600/05.%E5%A5%97%E4%BB%B6%E9%82%84%E5%8E%9F.png)](http://2.bp.blogspot.com/-ysXS6Jmxytc/VCkckW2udOI/AAAAAAAABp0/xOI5ZJgOsjM/s1600/05.%E5%A5%97%E4%BB%B6%E9%82%84%E5%8E%9F.png) 接下來可以建置專案了,勾選方案檔即可 在Run OctoPack這邊也勾選起來,輸入建置版號即可 [![](http://2.bp.blogspot.com/-umKldtIhOao/VCkcpdq-FAI/AAAAAAAABp8/k7DVLFr6_Yo/s1600/06.VS%E5%BB%BA%E7%BD%AE.png)](http://2.bp.blogspot.com/-umKldtIhOao/VCkcpdq-FAI/AAAAAAAABp8/k7DVLFr6_Yo/s1600/06.VS%E5%BB%BA%E7%BD%AE.png) 建置成功就會得到打包好的套件 [![](http://2.bp.blogspot.com/-nz0WK09gIac/VCkcuMFYPtI/AAAAAAAABqE/Sg17Ph4-jqs/s1600/08.%E5%BB%BA%E7%BD%AE%E6%88%90%E5%8A%9F.png)](http://2.bp.blogspot.com/-nz0WK09gIac/VCkcuMFYPtI/AAAAAAAABqE/Sg17Ph4-jqs/s1600/08.%E5%BB%BA%E7%BD%AE%E6%88%90%E5%8A%9F.png)


TeamCity 安裝 Octopus Deploy Integration 套件

首先到官網下載TeamCity Plugin http://octopusdeploy.com/downloads [![](http://3.bp.blogspot.com/-XNxjbgrc77Q/VCj_gC3rSjI/AAAAAAAABms/w1bLqfUxOcs/s1600/01.%E5%AE%98%E7%B6%B2%E4%B8%8B%E8%BC%89.png)](http://3.bp.blogspot.com/-XNxjbgrc77Q/VCj_gC3rSjI/AAAAAAAABms/w1bLqfUxOcs/s1600/01.%E5%AE%98%E7%B6%B2%E4%B8%8B%E8%BC%89.png) 把下載的zip檔,丟到TeamCity的Plugins資料夾下面 [![](http://4.bp.blogspot.com/-xoW5bvFoc8w/VCj_keKfYlI/AAAAAAAABm0/gMG9MFtcUbU/s1600/03.Plugins%E8%B3%87%E6%96%99%E5%A4%BE.png)](http://4.bp.blogspot.com/-xoW5bvFoc8w/VCj_keKfYlI/AAAAAAAABm0/gMG9MFtcUbU/s1600/03.Plugins%E8%B3%87%E6%96%99%E5%A4%BE.png) 重新啟動TeamCity後,就可以在Plugin列表中看到Octopus Deploy Integration套件 [![](http://3.bp.blogspot.com/-c9eevtd_CIA/VCj_tFiOC2I/AAAAAAAABm8/Hqca2hI8jyk/s1600/04.Plugin%E5%88%97%E8%A1%A8.png)](http://3.bp.blogspot.com/-c9eevtd_CIA/VCj_tFiOC2I/AAAAAAAABm8/Hqca2hI8jyk/s1600/04.Plugin%E5%88%97%E8%A1%A8.png) 在TeamCity的建置步驟中,會多出三個Runner Create release是新增發行版本,也可以順便部署的指定的環境 Deploy release是部署指定版本 Promote是把現有的版本從指定的環境部署到其他環境 [![](http://4.bp.blogspot.com/-8sf6WLcQtJ0/VCkBHJGU0rI/AAAAAAAABnE/j8I-2xap158/s1600/06.TeamCity%E5%BB%BA%E7%BD%AE%E6%96%B0%E5%A2%9E%E9%A0%85%E7%9B%AE.png)](http://4.bp.blogspot.com/-8sf6WLcQtJ0/VCkBHJGU0rI/AAAAAAAABnE/j8I-2xap158/s1600/06.TeamCity%E5%BB%BA%E7%BD%AE%E6%96%B0%E5%A2%9E%E9%A0%85%E7%9B%AE.png) 在VS建置Runner中,也會多出一個OctoPack的設定項目 勾選後會在建置參數中加入/p:RunOctoPack=true [![](http://2.bp.blogspot.com/-ugwpKzT9x9Y/VCkBRaltmnI/AAAAAAAABnM/1uDWOhBxUKE/s1600/05.VS%E6%96%B0%E5%A2%9E%E9%A0%85%E7%9B%AE.png)](http://2.bp.blogspot.com/-ugwpKzT9x9Y/VCkBRaltmnI/AAAAAAAABnM/1uDWOhBxUKE/s1600/05.VS%E6%96%B0%E5%A2%9E%E9%A0%85%E7%9B%AE.png) 參考資料 官網的說明和影片 http://docs.octopusdeploy.com/display/OD/TeamCity


TeamCity 整合 StyleCop

先打開管理頁面的Plugin List,選擇Available Plugin [![](http://3.bp.blogspot.com/-oDy7ga_ahsU/U5FaL4uSbTI/AAAAAAAABbI/bTAKqhJ56MQ/s1600/00.AvailablePlugin.png)](http://3.bp.blogspot.com/-oDy7ga_ahsU/U5FaL4uSbTI/AAAAAAAABbI/bTAKqhJ56MQ/s1600/00.AvailablePlugin.png) 找到StyleCop Runner [![](http://4.bp.blogspot.com/-Y0Omog127jg/U5FUq4nBNBI/AAAAAAAABZU/zO4XKx93Lxs/s1600/01.Download.png)](http://4.bp.blogspot.com/-Y0Omog127jg/U5FUq4nBNBI/AAAAAAAABZU/zO4XKx93Lxs/s1600/01.Download.png) 下載最新版本的StyleCop Plugin [![](http://4.bp.blogspot.com/-ivWisnEKuWc/U5FUvySNMtI/AAAAAAAABZc/aQ4RiKU-5Bo/s1600/02.DW.png)](http://4.bp.blogspot.com/-ivWisnEKuWc/U5FUvySNMtI/AAAAAAAABZc/aQ4RiKU-5Bo/s1600/02.DW.png) 把檔案解壓縮後會得到不帶版本號的Stylecop.zip [![](http://4.bp.blogspot.com/-3HndiN2ipLY/U5FU5j_9pvI/AAAAAAAABZk/01PnJvAMqqc/s1600/03.%E8%A7%A3%E5%A3%93%E7%B8%AE.png)](http://4.bp.blogspot.com/-3HndiN2ipLY/U5FU5j_9pvI/AAAAAAAABZk/01PnJvAMqqc/s1600/03.%E8%A7%A3%E5%A3%93%E7%B8%AE.png) 打開管理頁面的PluginList,點擊Upload plugin zip連結[![](http://4.bp.blogspot.com/-ZjTZdgwWpyc/U5FVDXCQCwI/AAAAAAAABZs/oZOweJhsvoU/s1600/04.PluginList.png)](http://4.bp.blogspot.com/-ZjTZdgwWpyc/U5FVDXCQCwI/AAAAAAAABZs/oZOweJhsvoU/s1600/04.PluginList.png) 選擇剛解壓縮出來的Stylecop.zip 上傳到Plugins資料夾下面[![](http://2.bp.blogspot.com/-fMJo2RjNF1U/U5FVbVB5FEI/AAAAAAAABZ0/83_2pD59O64/s1600/05.Upload.png)](http://2.bp.blogspot.com/-fMJo2RjNF1U/U5FVbVB5FEI/AAAAAAAABZ0/83_2pD59O64/s1600/05.Upload.png) 重新啟動TeamCity服務[![](http://4.bp.blogspot.com/-3pEb8Sw8AXs/U5FVrYnQCEI/AAAAAAAABZ8/EY91_ySL0WI/s1600/06.Restart.png)](http://4.bp.blogspot.com/-3pEb8Sw8AXs/U5FVrYnQCEI/AAAAAAAABZ8/EY91_ySL0WI/s1600/06.Restart.png) Plugin列表中可以看到StyleCop套件的資訊[![](http://2.bp.blogspot.com/-4boCfNRDupM/U5FVwJcK6xI/AAAAAAAABaE/NBUmGkfZgeI/s1600/07.AvailablePlugin.png)](http://2.bp.blogspot.com/-4boCfNRDupM/U5FVwJcK6xI/AAAAAAAABaE/NBUmGkfZgeI/s1600/07.AvailablePlugin.png) Build Step中就可以選擇StyleCop這個Runner [![](http://1.bp.blogspot.com/-avk9twecrxM/U5FWpaYUPoI/AAAAAAAABaQ/88_LXNHQWGE/s1600/08.BuildStep.png)](http://1.bp.blogspot.com/-avk9twecrxM/U5FWpaYUPoI/AAAAAAAABaQ/88_LXNHQWGE/s1600/08.BuildStep.png)輸入選擇要檢查的檔案路徑和StyleCop.dll的路徑[![](http://3.bp.blogspot.com/-Ei7SIMcLMug/U5FXaI7eU0I/AAAAAAAABaY/ony7YCKBOg4/s1600/09.Setting.png)](http://3.bp.blogspot.com/-Ei7SIMcLMug/U5FXaI7eU0I/AAAAAAAABaY/ony7YCKBOg4/s1600/09.Setting.png) 預設會把找到的問題當做錯誤,造成建置失敗 [![](http://4.bp.blogspot.com/-Dt_BfUwJBrY/U5FYOQXn35I/AAAAAAAABak/sLzXeq4qBFc/s1600/10.Error.png)](http://4.bp.blogspot.com/-Dt_BfUwJBrY/U5FYOQXn35I/AAAAAAAABak/sLzXeq4qBFc/s1600/10.Error.png) 可以修改Max Viloations,這是最大問題數的數量,超過就失敗,負數為不限制 另一個方法是勾選Treat errors as warnings,把錯誤當成警告 [![](http://4.bp.blogspot.com/-kcKgpBM4Egw/U5FYUjd0VXI/AAAAAAAABas/REIcyjgbnoo/s1600/11.Warn.png)](http://4.bp.blogspot.com/-kcKgpBM4Egw/U5FYUjd0VXI/AAAAAAAABas/REIcyjgbnoo/s1600/11.Warn.png) 建置結果會順利通過,但有檢查到的數量顯示 [![](http://4.bp.blogspot.com/-pR918wQlwpo/U5FYc5uSooI/AAAAAAAABa0/fL2NrOd53uQ/s1600/12.Warb.png)](http://4.bp.blogspot.com/-pR918wQlwpo/U5FYc5uSooI/AAAAAAAABa0/fL2NrOd53uQ/s1600/12.Warb.png) 點選該筆建置內容,就會看到StyleCop的詳細資料 [![](http://2.bp.blogspot.com/-NyrSWvNkOE0/U5FYgh8O-hI/AAAAAAAABa8/tpdrcCrEjww/s1600/13.Detail.png)](http://2.bp.blogspot.com/-NyrSWvNkOE0/U5FYgh8O-hI/AAAAAAAABa8/tpdrcCrEjww/s1600/13.Detail.png)


TeamCity整合Source Monitor報表

Source Monitor是用來分析程式碼度量的工具,先到[官網](http://www.campwoodsw.com/sourcemonitor.html)下載[![](http://1.bp.blogspot.com/-aUW-QXGVCtE/U1drxYfiw4I/AAAAAAAABSk/phO8_RBI2Os/s1600/01.%E4%B8%8B%E8%BC%89.png)](http://1.bp.blogspot.com/-aUW-QXGVCtE/U1drxYfiw4I/AAAAAAAABSk/phO8_RBI2Os/s1600/01.%E4%B8%8B%E8%BC%89.png) 安裝後的預設路徑為C:\Program Files (x86)\SourceMonitor[![](http://4.bp.blogspot.com/-MKLglO_Layc/U1dr6iQoHSI/AAAAAAAABSs/JSEVH5l68VE/s1600/02.%E5%AE%89%E8%A3%9D%E8%B7%AF%E5%BE%91.png)](http://4.bp.blogspot.com/-MKLglO_Layc/U1dr6iQoHSI/AAAAAAAABSs/JSEVH5l68VE/s1600/02.%E5%AE%89%E8%A3%9D%E8%B7%AF%E5%BE%91.png) 先淮備一個用來產生報告的設定檔SourceMonitorCommands.xml <?xml version="1.0" encoding="utf-8"?> <sourcemonitor_commands> <write_log>true</write_log> <command> <project_file>SourceMonitor.smp</project_file> <checkpoint_name>Baseline</checkpoint_name> <project_language>C#</project_language> <!-- 要分析專案的相對路徑 --> <source_directory>..</source_directory> <source_subdirectory_list> <exclude_subdirectories>true</exclude_subdirectories> <source_subtree>bin\</source_subtree> <source_subdirectory>obj\</source_subdirectory> </source_subdirectory_list> <parse_utf8_files>True</parse_utf8_files> <ignore_headers_footers>True</ignore_headers_footers> <export> <!-- 最後輸出的檔名 --> <export_file>SourceMonitorReport.xml</export_file> <export_type>2</export_type> </export> </command> </sourcemonitor_commands> 因為輸出的是XML格式,所以需要透過XSL轉成HTML格式 先下載轉換的工具[msxsl.exe](http://www.microsoft.com/en-us/download/details.aspx?id=21714)[![](http://4.bp.blogspot.com/-1zIhVE-ezj0/U1dsCkgZ1AI/AAAAAAAABS0/CSALVxR5RMw/s1600/03.%E4%B8%8B%E8%BC%89msxsl.png)](http://4.bp.blogspot.com/-1zIhVE-ezj0/U1dsCkgZ1AI/AAAAAAAABS0/CSALVxR5RMw/s1600/03.%E4%B8%8B%E8%BC%89msxsl.png) SourceMonitor.xsl<?xml version="1.0" encoding="utf-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/TR/xhtml1/strict"> <xsl:output method="html"/> <xsl:template match=”/"> <html> <head> <style type="text/css”> /* Web20 Table Style written by Netway Media, http://www.netway-media.com */ table { border-collapse: collapse; border: 1px solid #666666; font: normal 11px verdana, arial, helvetica, sans-serif; color: #363636; background: #f6f6f6; text-align: left; } caption { text-align: center; font: bold 16px arial, helvetica, sans-serif; background: transparent; padding: 6px 4px 8px 0px; color: #CC00FF; text-transform: uppercase; } thead, tfoot { background: url(bg1.


TeamCity整合FxCop報表

FxCop 10的安裝檔在Microsoft Windows SDK中,所以首先要先下載[Windwos SDK](http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=8279)[![](http://2.bp.blogspot.com/-Ryzi5Wp1mxk/U1YM8QFNVeI/AAAAAAAABQY/o5yi63VDzdE/s1600/00.FxCop%E8%BC%89%E9%BB%9E.png)](http://2.bp.blogspot.com/-Ryzi5Wp1mxk/U1YM8QFNVeI/AAAAAAAABQY/o5yi63VDzdE/s1600/00.FxCop%E8%BC%89%E9%BB%9E.png) SDK安裝好後,安裝檔的路徑在C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\FXCop\FxCopSetup.exe由於VS2013已整合FxCop 12版,所以這裡以FxCop 12版為例 安裝好VS2013後,FxCop執行檔的路徑在 FxCop的路徑在C:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Static Analysis Tools\FxCop 在Build Step中新增一個FxCop Runner[![](http://1.bp.blogspot.com/-UPextgdfaqg/U1YNNQYcR0I/AAAAAAAABQg/dl-bnwC9fPQ/s1600/02.%E6%96%B0%E5%A2%9EFxCop.png)](http://1.bp.blogspot.com/-UPextgdfaqg/U1YNNQYcR0I/AAAAAAAABQg/dl-bnwC9fPQ/s1600/02.%E6%96%B0%E5%A2%9EFxCop.png) 設定內容主要是指定FxCop執行檔的路徑 和要分析的Assembly檔案位置 C:\Program Files (x86)\Microsoft Visual Studio 12.0\Team Tools\Static Analysis Tools\FxCop 比較方便的方式是到Build Agent上面設定buildAgent.properties加入 system.FxCopRoot=C\:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\Team Tools\\Static Analysis Tools\\FxCop 就可以用Autodetect而不用指定路徑了 P.S. 注意跳脫符號 [![](http://4.bp.blogspot.com/-IxO1nBWwCG4/U1YOJCl6c8I/AAAAAAAABQ4/PJnb62unAG0/s1600/03.FxCop%E5%BB%BA%E7%BD%AE%E8%A8%AD%E5%AE%9A.png)](http://4.bp.blogspot.com/-IxO1nBWwCG4/U1YOJCl6c8I/AAAAAAAABQ4/PJnb62unAG0/s1600/03.FxCop%E5%BB%BA%E7%BD%AE%E8%A8%AD%E5%AE%9A.png)建置成功後就會多出一個FxCop的數據 [![](http://3.bp.blogspot.com/-hRYlHqjQsss/U1YR362allI/AAAAAAAABRM/DZZnNx-VHR4/s1600/05.%E7%B8%BD%E8%A1%A8.png)](http://3.bp.blogspot.com/-hRYlHqjQsss/U1YR362allI/AAAAAAAABRM/DZZnNx-VHR4/s1600/05.%E7%B8%BD%E8%A1%A8.png)點擊連結或是右上角的Code Inspection就會轉入FxCop報表的詳細頁面[![](http://4.bp.blogspot.com/-5dyGrZH_Lwo/U1YOMJfd2rI/AAAAAAAABRA/3JONiZpg7o8/s1600/04.%E5%BB%BA%E7%BD%AE%E5%A0%B1%E8%A1%A8.png)](http://4.bp.blogspot.com/-5dyGrZH_Lwo/U1YOMJfd2rI/AAAAAAAABRA/3JONiZpg7o8/s1600/04.%E5%BB%BA%E7%BD%AE%E5%A0%B1%E8%A1%A8.png)


Continuous Integration (CI) Server:TeamCity 學習筆記

1. 安裝continuous integration (CI) server:TeamCity http://blog.developer.idv.tw/2012/11/teamcity.html 2. TeamCity Migrate To SQL Server http://blog.developer.idv.tw/2012/11/teamcity-migrate-to-sql-server.html 3. TeamCity 設定專案 http://blog.developer.idv.tw/2012/11/teamcity_13.html 4. TeamCity 建置前先還原NuGet套件 http://blog.developer.idv.tw/2012/11/teamcity-nuget.html 5. TeamCity 建置後打包和發佈套件 http://blog.developer.idv.tw/2012/11/teamcity_6277.html 6. TeamCity 改用網域帳號LDAP登入 http://blog.developer.idv.tw/2012/11/teamcity-ldap.html 7. TeamCity 安裝BuildAgent http://blog.developer.idv.tw/2012/11/teamcity-buildagent.html 8. TeamCity刪除特定的Nuget Package http://blog.developer.idv.tw/2013/10/teamcity-nuget-package.html 9. TeamCity整合FxCop報表 http://blog.developer.idv.tw/2014/04/teamcityfxcop.html 10. TeamCity整合Code Coverage報表 http://blog.developer.idv.tw/2014/04/teamcitycode-coverage.html 11.TeamCity整合Source Monitor報表 http://blog.developer.idv.tw/2014/04/teamcitysource-monitor.html 12. TeamCity 整合 StyleCop http://blog.developer.idv.tw/2014/06/teamcity-stylecop.html 13. TeamCity 安裝 Octopus Deploy Integration 套件 http://blog.developer.idv.tw/2014/09/teamcity-octopus-deploy-integration.html 14. TeamCity 打包 Octopus 部署套件 http://blog.developer.idv.tw/2014/09/teamcity-octopack.html 15. TeamCity 發行 Octopus 部署套件 http://blog.