標籤:color 測試 重啟 load 第一個 內容 dev 包含 完整
筆者在《TeamCity : 配置 Build 過程》一文中提到 "TeamCity 內建支援幾乎所有的 build 類型"。在當今這個軟體語言和各種架構飛速發展的時代,要想支援所有的 build 類型顯然是不可能的。比如 TeamCity 就沒有內建對 .NET Core build 類型的支援,所以我們在《TeamCity : 配置第一個工程》一文中使用了 Command Line 類型(command line 類型可以搞定一切!),然後在指令碼裏手動調用了編譯命令:
dotnet restoredotnet build
最近,TeamCity 官方通過外掛程式支援了 .NET Core build(Build, test and deploy .NET Core projects with TeamCity)。既然可以用更加優雅的方式來編譯 .NET Core 程式了就讓我們一起試試吧!
安裝外掛程式
請從 .NET Core Support 下載外掛程式。
以管理員權限進入 Plugins List 頁面,點擊上方的 "Upload plugin zip":
然後選擇上傳已下載的外掛程式:
上傳完成後,檔案會被放在伺服器上的 plugins 目錄下:
接下來需要重啟 TeamCity 服務,然後就能看到新安裝的外掛程式了:
現在我們再去建立一個 build 步驟,就可以選擇 Runner type 為 ".NET Core (dotnet)" 了:
.NET Core 外掛程式支援的命令有:build, pack, publish, restore, test。下面我們將詳細介紹如何配置這些不同的命令類型。
Restore
下載項目依賴的包。這個命令有很多的參數,比如您可以指定為哪個項目下載包,也可以指定從哪個源進行下載或者是把下載到的包放在哪個路徑下。如果 UI 中沒有您要的設定,您還可以指定一個命令列參數:
通過命令列參數您就可以無所不能了!
Build
編譯項目,允許您指定 framework,runtime 等資訊。當然也可以指定編譯完成後的輸出目錄,還有萬能的命令列參數!
Test
使用 xUnit framework 能夠輕鬆的在 TeamCity 中整合您的 .NET Core 單元測試。要運行項目中的單元測試,參數的設定和其它命令差不多,下面是單元測試的結果:
Pack
要想把項目發布到 NuGet,首先要產生 NuGet 包。直接使用 Pack 命令就可以了,它會把項目打包成帶有 nupkg 尾碼的包:
Publish
Publish 命令把應用程式及其所有依賴項打包到檔案夾,準備進行發布。它會編譯應用程式,讀取 project.json 檔案中指定的所有依賴項並將產生的檔案集發布到目錄中。
根據可移植應用的類型,產生的目錄包含以下內容:
1. 可移植應用程式 – 應用程式的中繼語言(IL) 代碼和應用程式的所有託管依賴項。
2. 獨立應用程式 – 除上述內容外,還包括目標平台的完整運行時。
需要注意的是一定要為 publish 指定 Framework 和 Runtime:
TeamCity : .NET Core 外掛程式