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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章