去年年末,得益於公司引入 Jenkins,讓咱們在持續集成方面邁出了第一步,本文不贅述如何安裝 Jenkins,主要關注點在於配置 .Net 環境。另外本文是在 Windows 環境下安裝的 Jenkins 進行操做。html
首先咱們須要先準備幾個安裝包,將它們安裝到 Windows 上: 併發
.NET Framework 4.6.1 | https://www.microsoft.com/zh-cn/download/details.aspx?id=49982 |
Microsoft Build Tools 2015 | https://www.microsoft.com/zh-CN/download/details.aspx?id=48159 |
.NET Framework 4.6.1 Developer Pack | https://www.microsoft.com/zh-CN/download/details.aspx?id=49978 |
NuGet x86 Commandline | https://dist.nuget.org/index.html |
第一個固然是你們熟悉的 .NET Framework 運行環境了;工具
第二是 MSBuild,雖然平時咱們使用 Visual Studio 都是圖形界面編譯、發佈程序,但實際上 Visual Studio 是去調用 MSBuild 來進行各類操做的,因此咱們要想讓 Jenkins 也能自動編譯代碼,也要爲它準備一套 MSBuild。單元測試
第三個包爲 .NET Framework 4.6.1 開發人員包(Developer Pack),在過去稱爲 Targeting Pack,裏面包含了一堆程序集。像是早期版本的 Visual Studio 2013,發佈之時並無 .NET Framework 4.6.1,要想讓它支持就須要安裝這個開發人員包。若是不安裝的話,後期編譯 4.6.1 的程序時會提示找不到 System.Object、System.Attribute 程序集的錯誤。4.6.1 的開發人員包包含了 4.0、4.五、4.6 Targeting Pack 的內容,安裝 4.6.1 的包就不須要安裝 4.0 其餘版本的包了。另外若是須要中文支持,須要先安裝英文版,再安裝中文語言包。測試
最後一項爲 NuGet 的控制檯程序,在編譯程序以前,先須要使用 NuGet 進行包還原。這個軟件不須要安裝,放在一個固定的位置就行,例如放在 D:\Tools\CI 下。ui
進入 Jenkins 的插件管理頁面,安裝 MSBuild 插件,地址爲:https://wiki.jenkins-ci.org/display/JENKINS/MSBuild+Pluginspa
安裝好以後,以後進入 「Global Tool Configuration」 界面:.net
在打開的頁面裏找到「MSBuild」一欄,先點擊「MSBuild 安裝」,再點擊「新增 MSBuild」 按鈕,便可配置 MSBuild.exe 的路徑。因爲我使用 32 位的 MSBuild,因此能夠這樣配置:插件
MSBuild 的默認安裝路徑rest
32位 | C:\Program Files (x86)\MSBuild\14.0\Bin\MSBuild.exe |
64位 | C:\Program Files (x86)\MSBuild\14.0\Bin\amd64\MSBuild.exe |
配置好以後不要忘了保存。
準備好了運行環境和 Jenkins 插件,咱們新建一個 Job 試一試。咱們公司使用的是 Subversion,因此我會從 SVN 下載代碼,使用 Git 等倉庫也大同小異,這裏就略過了。
咱們須要在「構建」一欄中,新增一個「Execute Windows batch command」(執行批處理命令)步驟,用來進行 NuGet 包還原
1 D:\tools\CI\nuget.exe restore .\YourSolutionName.sln
首先是指定 nuget.exe 的路徑,而後使用 restore 命令,對當前目錄下的 YourSolutionName.sln 解決方案文件進行包還原。你們根據本身實際狀況進行修改便可。
依然是在「構建」一欄,新建一個「Build a Visual Studio project or solution using MSBuild」(使用 MSBuild 生成 VS 項目或解決方案)步驟
從上往下,依次是
這裏主要講一下「Command Line Arguments」的配置,更全面的 MSBuild 文檔能夠參閱 MSDN:https://msdn.microsoft.com/zh-CN/library/dd393574.aspx
我但願生成一個 ASP.NET MVC 項目,併發布到文件系統中,主要用到:
[2017年1月24日09:30更新]
很差意思,昨晚發佈文章時遺漏了這一點。若是按上面的配置,使用 MSBuild 編譯項目,可能會遇到這樣的錯誤:
未找到導入的項目「C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0\WebApplications\Microsoft.WebApplication.targets」
這時候只須要找一臺安裝了 Visual Studio 2015 的計算機,將 C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v14.0 目錄裏的全部內容都拷貝到 Jenkins 所在的 Windows 系統的這個目錄下,而後從新構建,就能夠了。
後面可能還會發一些有關 Jenkins 集成 xUnit.net 單元測試和自動發佈方面的一些內容,不過不知道年前還能不能發出來了 XD
但願文章能對你們有做用。