1. 程式人生 > >Jenkins 持續整合.net自動編譯測試和部署

Jenkins 持續整合.net自動編譯測試和部署

  在HIS專案裡,我們使用了jenkins (原hudson, http://www.jenkins-ci.org/)作為CI server,開源肯定是最基本的考慮,jenkins是java生態圈中的一個不錯的選擇,現在我們這個專案採用的是.net技術,基本的組合是,jenkins + git + msbuild + mstest,現在把操作筆記記下來。
.net需要用到msbuild進行構建,需要依賴.net framework,所以我們選擇在windows 2008上搭建jenkins;
1 建立一個Job
1.1安裝MSBuild外掛
登入jenkins: http://192.168.187.54:8080/
點選 系統管理 – 外掛管理
選擇安裝 MSBuild Plugin
 




安裝完成後,點選 系統管理 – 系統配置,配置MSBuild系統路徑:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\MSBuild.exe 


1.2 建立1個Job
1、Jenkins-Auto_test 點選 新建
 
2、輸入專案名稱,建立一個自由風格的軟體專案
 


 
3、輸入git程式碼路徑,使用者名稱、密碼和程式碼分支名稱,下圖中選擇Git作為原始碼管理工具,還需安裝 Git Plugin和Git Client Plugin作為外掛。系統自帶SVN外掛,若用SVN做原始碼管理,則無需再去安裝外掛。


 
4、輸入構建觸發器
Build after other projects are built:指定的專案完成構建後,觸發此專案的構建。
Build periodically :此選項僅僅通知Jenkins按指定的頻率對專案進行構建,而不管SCM是否有變化
Poll SCM :這是CI 系統中常見的選項。當您選擇此選項,您可以指定一個定時作業表示式來定義Jenkins每隔多久檢查一下您原始碼倉庫的變化。如果發現變化,就執行一次構建。(配置規則:*  *    *    *    *,星號一次代表分、時、日、月、星期,具體配置規則點選輸入框後問號檢視)
·配置在專案構建完成之後執行構建
·配置每5分鐘檢查一次
 


5、點選增加構建,選擇前面安裝的MSBuild,將構建檔案設定為專案檔案,如下圖:
配置Server端構建:
MSBuild4.0
cloudhospital\cloudhospitalServer.sln
/t:Rebuild /property:TargetFrameworkVersion=v4.5;VSToolsPath= 


6、配置Client端構建:
MSBuild4.0
cloudhospital\cloudhospitalClient.sln
/t:Rebuild /property:TargetFrameworkVersion=v4.5;VSToolsPath=
 
7、配置WEB端構建:
MSBuild4.0
cloudhospital\cloudhospitalWeb.sln
/t:Rebuild /property:TargetFrameworkVersion=v4.5;VSToolsPath=
 




2自動測試
2.1相關外掛安裝
1、對於C#語言,在自動化測試中,需要用到如下外掛:
•Jenkins MSTestRunner plugin:系統使用MSTest來測試;
•Jenkins NUnit plugin:系統使用NUit來測試;
•JENKINS MSTest plugin:來發布MSTest的測試結果。
本例以MSTestRunner和MSTest plugin來作為例子來說明。首先到系統的外掛管理介面安裝這兩個外掛,如下圖
 
安裝完這兩個外掛後,重啟Jenkins。
2、開啟系統配置介面,還需對MSTest進行系統設定。
紅色框是MSTest.exe的路徑位置,該工具為VS自帶工具。
MSTest路徑配置:
 
3、配置任務
安裝完前面的外掛後,通過配置,就可以讓Jenkins在構建的時候自動執行測試用例。
開啟任務的配置介面,在構建項,選擇新增構建,執行單元測試。
 
4、新增相關配置,測試檔案為我們測試專案所生成的dll或者exe檔案。測試結果檔案為MSTest.exe所產生的測試結果檔案,檔案字尾為trx。注意:這裡檔案是相對路徑,相對於專案的路徑。
 
完成了這一步的配置,系統在構建的時候,就能自動執行測試用例,但系統還不能將測試結果展示出來,要展示結果結果,還需做如下配置。
5、在任務配置的構建後的操作裡,選擇新增後構建後的操作,選擇釋出MSTest 測試結果報告。
 
6、在測試報告檔案中新增前面配置MSTest.exe生的結果檔案。
通過這些基本的配置,系統就能在構建的時候執行測試用例,並將測試結果展示出來。
在每個任務的主頁,有測試結果的統計圖。
 
 
在測試結果頁面中,展示的測試結果的總體詳細,點選某個測試名稱,還能顯示該測試的詳細資訊。
 
3自動部署
3.1在Deploy介面配置自動部署JOB,配置自動部署伺服器:
 
配置構建觸發器:


 
3.2執行windows 批處理指令碼自動部署環境。
3.3配置好後點擊 立即構建
 
3.4檢視構建成功
 

相關推薦

Jenkins 持續整合.net自動編譯測試部署

  在HIS專案裡,我們使用了jenkins (原hudson, http://www.jenkins-ci.org/)作為CI server,開源肯定是最基本的考慮,jenkins是java生態圈中的一個不錯的選擇,現在我們這個專案採用的是.net技術,基本的組合是,je

Jenkins持續整合 & .NET cmd建立日期時間資料夾

最近受累於測試環境每次釋出都很麻煩,而且我們有多個測試環境,因此專門抽時間做了Jenkins的配置和研究。 折騰了兩天終於綠燈以後,先來個截圖,BlueOcean UI還是很nice的。 環境搭建 找一個乾淨點的Build伺服器,然後開始持續整合之旅吧! 安裝JDK

Jenkins搭建.NET自動編譯釋出本地環境 使用jenkins配置.net mvc網站進行持續整合一

 Jenkins是什麼 Jenkins是一個可擴充套件的持續整合的引擎,主要用於持續自動的構建、測試軟體專案監控一些定時執行的任務。 安裝配置 我的環境: 機器:Windows Server 2008 R2 Enterprice 開發環境:VS2017 原始碼管理:Git 軟體安裝

Jenkins高階篇之Pipeline實踐篇-6-SeleniumJenkins持續整合-pipeline引數化構建selenium自動化測試

       這篇來思考下如何寫一個方法,可以修改config.properties檔案裡面的屬性。加入這個方法可以根據key修改value,那麼我們就可以通過jenkins上變數,讓使用者輸入,來修改config.properties檔案裡面的值。例如測

Jenkins持續整合(下)-Jenkins部署Asp.Net網站自動釋出

環境:Windows 2008 R2、Jenkins2.235.1、Visual Studio 2017; 概要   前面寫過一篇文章,《自動釋出-asp.net自動釋出、IIS站點自動釋出(整合SLB、配置管理、Jenkins)》,這個主要是用於投產環境運維平臺自動釋出的整合,對於前面的環節使用Jenkin

使用Bitbucket Pipeline進行.Net Core項目的自動構建、測試部署

net yml cimage 參考 www 模板 -c 免費 clas 1. 引言 首先,Bitbucket提供支持Mercurial和Git版本控制系統的網絡托管服務。簡單來說,它類似於GitHub,不同之處在於它支持個人免費創建私有項目倉庫。除此之外,Bitbucke

工作環境下Apache Jmeter + ANT +Jenkins 持續整合環境搭建(續)----Linux伺服器上搭建antjmeter

接上文https://blog.csdn.net/be_x_man/article/details/80997740 在本地配置好了jmeter和ant之後,還需要將指令碼放在jenkins上執行,所以也需要在jenkins所在的Linux伺服器上搭建jmeter和ant 配置過程基本上和W

Jenkins軟體開發持續整合自動構建

1. jenkins簡介 1.1. 什麼是敏捷開發 敏捷開發以使用者的需求進化為核心,採用迭代、循序漸進的方法進行軟體開發。在敏捷開發中,軟體專案在構建初期被切分成多個子專案,各個子專案的成果都經過測試,具備可視、可整合和可執行使用的特徵。換言之,就是把一個大專案分為多個

Jenkins持續整合01---Jenkins服務搭建部署

一、介紹Jenkins 1、Jenkins概念   Jenkins是一個功能強大的應用程式,允許持續整合和持續交付專案,無論用的是什麼平臺。這是一個免費的原始碼,可以處理任何型別的構建或持續整合。整合Jenkins可以用於一些測試和部署技術。Jenkins是一種軟體允許持續整合。 2、Jenkins目的

Jenkins搭建.NET自動編譯釋出遠端環境 Jenkins搭建.NET自動編譯釋出本地環境

繼上一篇文章Jenkins搭建.NET自動編譯釋出本地環境 釋出到本地成功後,接下來配置釋出到遠端環境。 Build配置——釋出到本地 根據前面VS中釋出專案,生成的CustomProfile2 來配置 1、MSBuild Build File:配置為.\angularDemo\angular

Jenkins搭建.NET自動編譯發布遠程環境

blank eth .com span xtra dash 好的 就是 mbo 繼上一篇文章Jenkins搭建.NET自動編譯發布本地環境 發布到本地成功後,接下來配置發布到遠程環境。 Build配置——發布到本地 根據前面VS中發布項目,生成的

基於Docker的devops實踐—jenkins持續整合自動部署elk日誌+zabbix監控

筆者所在的技術團隊負責了數十個專案的開發和維護工作,每個專案都至少有dev、qa、hidden、product四個環境,數百臺機器,在各個系統之間疲於奔命,解決各種瑣碎的問題,如何從這些瑣碎的事情中解放出來?devops成了我們不二的選擇。 文章是基於目前的環境和團隊規

Git+Spring-boot+Docker+ Maven +Registry私有倉庫 +jenkins 持續整合測試

第一步 pull docker-registry #:docker pull registry // 此/opt/data/registry目錄為私有倉庫映象宿主機對映目錄 #:/usr/bin/docker -d -v -v /opt/data/re

詳解Dockerfile,並構建docker私有庫,通過maven自動構建映象部署,達到持續整合

上篇給大家簡單的介紹了一下docker的架構,已經常用命令. 今天帶大家通過Dockerfile構建docker映象,並構建docker私有倉庫,通過maven進行打包自動構建映象自動部署,達到持續整合目的 廢話不多說,首先介紹下Dockerfile中常用的命令 FROM

.net core jenkins持續整合

  執行 Shell pwd ls echo ${PATH} whoami which dotnet dotnet --info dotnet --version echo '============================begin restore======

windows部署jenkins持續整合maven測試專案不能訪問測試報告

買了一臺阿里雲的伺服器用於練習maven test專案,系統版本wiondows server 2012,將jenkins war包部署在Tomcat伺服器上,專案構建後,生成的報告在C:\Windows\System32\config\systemprofile\.jenkins\workspace目錄下,

持續整合(CI)、自動化構建自動化測試--初探

此文章是為了總結前一段時間由於Maven2的學習而引起的一個持續整合的學習。 一、什麼是持續整合(Continuous Integration)?      這個概念到底是怎麼定義,說實話很多不同的版本。這裡我就把我理解的什麼叫持續整合說下,其實持續整合是為了配合敏捷開發的速度和效率而產生的一個用於編譯、

Jenkins高階篇之Pipeline實踐篇-9-SeleniumJenkins持續整合-日誌檔案歸檔外掛rebuild介紹--完結篇

寫到這裡,我記得我前面提出的兩個需求,引數化構建和報告和日誌顯示就差一個日誌檔案顯示了。本篇就先來介紹如何在jenkins上提供日誌檔案下載,第二個介紹一下rebuild外掛。如果一個jenkins job有十個以上的引數化構建,那麼下一次構建,選擇rebuild選單是最方便,rebuild選單

Jenkins高階篇之Pipeline實踐篇-8-SeleniumJenkins持續整合-新增事後刪除報告功能解決報告名稱硬編碼

這篇,我們第一件事情來實現把html報告publish完成之後就刪除報告檔案。這個是很有必要的操作,雖然我們前面寫死了報告名稱為index.html,你跑多次測試,都會在test-output資料夾下覆蓋原來的html報告檔案。但是,就像我們最早的時候,報告名稱是特定文字加時間戳命名,那麼如果不

Jenkins高階篇之Pipeline實踐篇-7-SeleniumJenkins持續整合-publish html report外掛的pipeline使用介紹

前面我介紹了一個pipeline實現selenium的引數化構建過程,這邊我來介紹,如何把我們程式碼測試之後得到的extent report檔案,在Jenkins的構建Job中顯示。在介紹之前,我更新下幾個和前面程式碼變化之處。 1)在run.bat中,我們這篇cd的路徑是在jenkins