目錄
一、安裝環境
三、Jenkins Job 配置
1. 還原NuGet 套件
2. 設定MSBuild 編譯參數
首頁 後端開發 C#.Net教程 為 Jenkins 配置 .NET 持續整合環境

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

Jan 24, 2017 pm 03:43 PM
.net

去年年底,得益於公司引入 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 🎜🎜希望文章能對大家有作用。 🎜🎜
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
分享幾個.NET開源的AI和LLM相關專案框架 分享幾個.NET開源的AI和LLM相關專案框架 May 06, 2024 pm 04:43 PM

當今人工智慧(AI)技術的發展如火如荼,它們在各個領域都展現了巨大的潛力和影響力。今天大姚給大家分享4個.NET開源的AI模型LLM相關的專案框架,希望能為大家提供一些參考。 https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.mdSemanticKernelSemanticKernel是一種開源的軟體開發工具包(SDK),旨在將大型語言模型(LLM)如OpenAI、Azure

C#的就業前景如何 C#的就業前景如何 Oct 19, 2023 am 11:02 AM

無論您是初學者還是有經驗的專業人士,掌握C#將為您的職業發展鋪平道路。

面向開發人員的.NET效能最佳化技術 面向開發人員的.NET效能最佳化技術 Sep 12, 2023 am 10:43 AM

如果你是.NET開發者,你必須意識到在交付高品質軟體方面,優化功能和效能的重要性。透過熟練使用提供的資源並減少網站載入時間,你不僅為使用者創造了愉快的體驗,還能減少基礎設施成本。

Java框架與.NET框架的效能差異 Java框架與.NET框架的效能差異 Jun 03, 2024 am 09:19 AM

在高並發請求處理方面,.NETASP.NETCoreWebAPI效能優於JavaSpringMVC,原因包括:AOT提前編譯,減少啟動時間;更精細的記憶體管理,由開發人員負責分配和釋放物件記憶體。

C#.NET:探索核心概念和編程基礎知識 C#.NET:探索核心概念和編程基礎知識 Apr 10, 2025 am 09:32 AM

C#是一種現代、面向對象的編程語言,由微軟開發並作為.NET框架的一部分。 1.C#支持面向對象編程(OOP),包括封裝、繼承和多態。 2.C#中的異步編程通過async和await關鍵字實現,提高應用的響應性。 3.使用LINQ可以簡潔地處理數據集合。 4.常見錯誤包括空引用異常和索引超出範圍異常,調試技巧包括使用調試器和異常處理。 5.性能優化包括使用StringBuilder和避免不必要的裝箱和拆箱。

C#.NET面試問題和答案:提高您的專業知識 C#.NET面試問題和答案:提高您的專業知識 Apr 07, 2025 am 12:01 AM

C#.NET面試問題和答案包括基礎知識、核心概念和高級用法。 1)基礎知識:C#是微軟開發的面向對象語言,主要用於.NET框架。 2)核心概念:委託和事件允許動態綁定方法,LINQ提供強大查詢功能。 3)高級用法:異步編程提高響應性,表達式樹用於動態代碼構建。

c#.net的持續相關性:查看當前用法 c#.net的持續相關性:查看當前用法 Apr 16, 2025 am 12:07 AM

C#.NET依然重要,因為它提供了強大的工具和庫,支持多種應用開發。 1)C#結合.NET框架,使開發高效便捷。 2)C#的類型安全和垃圾回收機制增強了其優勢。 3).NET提供跨平台運行環境和豐富的API,提升了開發靈活性。

從網絡到桌面:C#.NET的多功能性 從網絡到桌面:C#.NET的多功能性 Apr 15, 2025 am 12:07 AM

C#.NETisversatileforbothwebanddesktopdevelopment.1)Forweb,useASP.NETfordynamicapplications.2)Fordesktop,employWindowsFormsorWPFforrichinterfaces.3)UseXamarinforcross-platformdevelopment,enablingcodesharingacrossWindows,macOS,Linux,andmobiledevices.

See all articles