為 Jenkins 配置 .NET 持續整合環境

大家讲道理
發布: 2017-01-24 15:43:42
原創
2882 人瀏覽過

去年年底,得益於公司引入 Jenkins,讓我們在持續整合方面邁出了第一步,本文不贅述如何安裝 Jenkins,主要關注點在於配置 .Net 環境。另外本文則是在 Windows 環境下安裝的 Jenkins 進行操作。

一、安裝環境

首先我們需要先準備幾個安裝包,將它們安裝到Windows 上: 

https://www.micro -cn/download/details.aspx?id=49982https://www.microsoft.com/zh-CN/download/details.aspxidg .NET Framework 4.6.1 Developer Pack /dist.nuget.org/index.html 
.NET Framework 4.6.1 .NET Framework 4.6.1
Microsoft Build Tools 2015
https://www.microsoft.com/zh-CN/download/details.aspx?id=49978

 

 

 

第一個當然是熟悉的環境中. Visual Studio 都是圖形介面編譯、發佈程序,但實際上Vi​​sual 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.5、4.6 Targeting Pack 的內容,安裝 4.6.1 的套件就不需要安裝 4.0 其他版本的套件了。另外如果需要中文支持,需要先安裝英文版,再安裝中文語言包。

最後一項為 NuGet 的控制台程序,在編譯程序之前,先需要使用 NuGet 進行包還原。這個軟體不需要安裝,放在一個固定的位置就行,例如放在 D:ToolsCI 下。

 

二、安裝Jenkins 插件

進入Jenkins 的插件管理頁面,安裝MSBuild 插件,位址為:

https://wiki.jenkins-ci.org/display/JENKINS/MSBuild+Plugin之後,之後進入“Global Tool Configuration” 介面:

 

在打開的頁面裡找到“MSBuild”一欄,先點擊“MSBuild 安裝”,再點擊“新增MSBuild” 鍵配置即可配置MSBuild .exe 的路徑。由於我使用32 位元的MSBuild,所以可以這樣設定:

MSBuild 的預設安裝路徑

32位元

C:Program Files (x86)MSBuild14.0Binamd64MSBuild.exe

 

 

配置好之後不要忘了存檔。

 

三、Jenkins Job 配置

準備好了運行環境和 Jenkins 插件,我們新建一個 Job 試一試。我們公司使用的是 Subversion,所以我會從 SVN 下載代碼,使用 Git 等倉庫也大同小異,這裡就略過了。

1. 還原NuGet 套件

我們需要在「建置」一欄中,新增一個「Execute Windows batch command」(執行批次指令)步驟,用來進行NuGet 套件還原

1 D:\tools\CI\nuget.exe restore .\YourSolutionName.sln
登入後複製

指定nuget.exe 的路徑,然後使用restore 指令,對目前目錄下的 YourSolutionName.sln 解決方案檔案進行包還原。大家根據自己實際狀況進行修改即可。

 

2. 設定MSBuild 編譯參數

仍是在「建置」一欄,新建一個「Build a Visual Studio project 或 solution using MSBuild」(使用MSBuild 產生VS 專案或解決方案)步驟

從上往下,依序是

選用的MSBuild 版本
  • 目標專案或解決方案檔案的路徑+檔案名稱
  • MSBuild 參數
  • 」參數
  • MSBuild 參數
配置,更全面的MSBuild 文件可以參閱MSDN:

https://msdn.microsoft.com/zh-CN/library/dd393574.aspx

我希望產生一個ASP.NET MVC 項目,並發佈到文件系統中,主要用到:

  • /t:Rebuild 重新產生

  • /p:Configuration=Releaseo Release 產生模式/p:Configuration=Releaseo

    Release 產生模式
  • /p:Configuration=Releaseo
  • Release 產生模式

    /p:Configuration=Releaseo Release 產生模式/p:Configuration=Releaseo

    Release 產生模式
  • /p:Configuration=Releaseo
  • Release 產生模式

    /p:Configuration=Rel?集(https ://msdn.microsoft.com/zh-cn/library/bb383796.aspx)版本,不設定會報錯

/p:DeployOnBuild=True;PublishProfile=Testing-Environment-CI-publishhiBuild=True;PublishProfile=Testing-Environment-CI-publish照片Environment-CI-publish.pubxml 發布文件來發布項目

 

四、補充

[2017年1月24日09:30更新]

不好意思,昨晚發布文章時遺漏了這一點。如果依照上面的配置,使用MSBuild 編譯項目,可能會遇到這樣的錯誤:

未找到導入的項目「C:Program Files (x86)MSBuildMicrosoftVisualStudiov14.0WebApplicationsMicrosoft.WebApplication.targets」


這時候找一台安裝了Visual Studio 2015 的計算機,將 C:Program Files (x86)MSBuildMicrosoftVisualStudiov14.0 目錄裡的所有內容都拷貝到Jenkins 所在的Windows 系統的這個目錄下,然後重新構建,就可以了。

 

 

後面可能還會發一些有關Jenkins 集成xUnit.net 單元測試和自動發布方面的一些內容,不過不知道年前還能不能發出來了XD 🎜🎜希望文章能對大家有作用。 🎜🎜
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!