1. 程式人生 > >Jenkins與Visual Studio的自動編譯和釋出

Jenkins與Visual Studio的自動編譯和釋出

一、Jenkins在Windows下的安裝

1、下載地址:可以到https://jenkins.io/download/下載Jenkins的最新版本,目前為2.64。正式環境最好使用2.46.3版本,該版本提供長期支援。目前下載包解壓後得到jenkins.msi安裝包

2、雙擊jenkins.msi就可以開始安裝了。

3、啟動Windows服務Jenkins

4、檢測是否安裝成功:開啟安裝機器上的瀏覽器,訪問http://localhost:8080可以看到解鎖介面

5、解鎖Jenkins。在安裝過程中,將管理員密碼寫入到了日誌檔案中,從中拷貝出來並寫入到下面的介面上:

 

二、定製Jenkins

1、選擇需要安裝的外掛

2、需要選擇MSBuildPlugin和TeamFoundation Server Plug-in

3、點選安裝開始安裝外掛

4、建立第一個管理員使用者

5、準備使用Jenkins

 

  

三、設定你的構建任務

構建任務是持續整合服務的基本單元。一個構建任務就是對專案進行編譯、測試、打包、釋出或做一些其他事情。構建任務有多種形式,你可能對你的專案進行編譯、單元測試、報告程式碼質量、生成文件、釋出應用程式、部署到正式環境、執行冒煙測試、或許多其他相似的事情。

1、構建自由風格的專案

輸入任務名字,選擇“構建一個自由風格的軟體專案”,然後點選“OK”按鈕。

  

四、配置任務

1、通用配置

2、原始碼管理配置

這裡選擇TFS,然後提供TFS的路徑(可以從VS中拷貝過來),以及專案的相對路徑(相對於TFS的根目錄)。

下面是設定構建觸發器,每天編譯一次:

3、構建計劃設定

這個配置是每天下午4到6點執行構建計劃。

4、設定構建步驟。

5、設定構建後的操作

 

五、自動和持續釋出需要考慮的問題

在大多數情況下,可以自己寫指令碼將應用釋出到特定伺服器上。主要好處就是簡單、配置容易。如果你需要在一臺伺服器上執行安裝軟體或重啟機器的操作,簡單的指令碼可能做不到。對於一些高深的使用場景,我們需要更加複雜釋出、配置管理方案,如Pupper或Chef。

1、 資料庫更新

在很多應用架構中,資料庫都是非常重要的角色,資料庫的平滑升級也是非常困難的。有些應用框架,如Rbuyon Rails、Hibernate、EntityFramework,能自動管理資料庫結構的變更,但是功能相對有限。我們現在有一個好的工具Liquibase,可以管理和組織資料庫不同版本直接的升級路徑。

2、 冒煙測試

任何嚴謹的自動化釋出,都需用一系列的自動化冒煙測試。自動化的接受測試是一個比較好的方法。

3、 回滾變更

自動化釋出的另一個重要方面是回滾到釋出之前的版本。具體怎麼做主要依賴於你的應用。一個比較直接的辦法就是使用Jenkins重新發布之前的版本,需要重點考慮的是如何將資料庫恢復到之前的版本。

4、 釋出到應用伺服器上

Jenkins提供外掛來幫助你將應用釋出到伺服器上,比如:Tomcat,JBoss和GlassFish,Websphere的外掛支援特定的版本。

對於其他的應用伺服器,需要將釋出過程整合到構建過程,或者使用定置化指令碼來發布應用。

 

構建伺服器基礎:

安裝.NET Framework 4.6 (NDP46-KB3033091-x86-x64-AllOS-ENU.exe)
安裝.NET Framework 4.6 Multi Targeting Package (netfx_46mtpack.msi) – 注意:公開下載的版本已經沒有了,需要從VS 2016 ISO映像檔案獲取該檔案,包括cab1.cab, 該檔案在packages\netfx_46mtpack 目錄下
安裝 Microsoft Build Tools 2017 (Section "Additional Tools")
 

備註:MicrosoftBuild Tools 2017下載地址

https://www.visualstudio.com/zh-hans/thank-you-downloading-visual-studio/?sku=BuildTools&rel=15

安裝後,在Jenkins的全域性配置中,將MSBuild的路徑指向Tools2017的目錄,如:C:\ProgramFiles (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin

 

還有後續的兩個問題:

1、 所有的專案都必須是.NetFramework 4.6的版本(所有專案的版本必須一致,否則編譯時提示找不到對應的Framework)

2、 如果使用的測試專案,還需要安裝Microsoft.VisualStudio.QualityTools.UnitTestFramework
--------------------- 
作者:簡單程式設計 
來源:CSDN 
原文:https://blog.csdn.net/qq_32782059/article/details/73290400 
版權宣告:本文為博主原創文章,轉載請