自動化部署-Jenkins+SVN+MSBuild

  這篇文章主要介紹下使用Jenkins實現自動化部署web

  1. 下載

https://jenkins.io/download/c#

  1. 安裝

按步驟安裝便可,下載的是windows版本,安裝完成後,會看到這樣一個正在運行的服務windows

  1. 初次使用

默認端口8080,建議修改瀏覽器

經過安裝目錄下的jenkins.xml文件修改服務器

端口修改後重啓服務app

經過瀏覽器第一次訪問會看到這樣一個頁面(我這邊不是第一次使用了,頁面找不到,從網上找了個圖片)dom

按照頁面上提示的路徑找到文件,獲得密碼輸入便可ide

接着進入插件下載頁面,能夠直接選擇建議插件svn

插件安裝完成後進入如下頁面,建立一個管理員賬號工具

我在建立完成後遇到了空白頁的狀況,重啓下服務從新打開便可解決

  1. 插件安裝

jenkins建議插件中包含了svn,初始化時若是選擇了建議插件,就不須要再額外去安裝了

以下圖,選擇系統管理-》插件管理-》可選插件

Localization: Chinese (Simplified) 剛安裝完時,頁面一半中文,一半英文,安裝此插件可解決

MSBuild Plugin 編譯c#代碼必需

  1. 配置msbuild

若是服務器上已安裝vs,則不須要額外安裝msbuild

不然,去vs官網下載安裝

https://docs.microsoft.com/zh-cn/visualstudio/msbuild/msbuild?view=vs-2017

這裏選擇哪一個版本看你開發時ide使用的是什麼版本,安裝對應的便可(版本不要安裝錯誤,c#6.0 7.0 的語法低版本msbuild識別不了)

注意勾選

msbuild沒有問題後,打開 系統管理-》全局工具配置

找到MSBuild

新增MSBuild,名稱無所謂,第二欄填入MSBuild的地址,保存便可

 

  1. 新建任務

新建任務-》構建一個自由風格的軟件項目

源碼管理,選擇svn填入參數

構建,選擇第一個,使用msbuild構建

選擇msbuild配置,填入須要構建的解決方案或者項目文件,參數咱們等會再看,先這樣保存運行測試下,這裏路徑須要注意下頭部不要帶/

回到主面板,點擊剛剛建立的任務,當即構建

這裏會出現構建任務

點擊後選擇控制檯輸出,能夠看到構建過程

正常狀況下,這裏會看到構建成功

可是若是你的項目使用了nuget,則須要先還原nuget包,再去構建,下載nuget

https://www.nuget.org/downloads

Windows x86 Commandline
下載完成後,點擊咱們剛剛建立的任務,選擇配置,增長構建步驟,選擇批處理命令
執行剛剛下載的nuget還原解決方案,這裏有一點須要注意,若是nuget.exe路徑中有空格,記得加上引號(圖中忘記添加---)
調整下構建步驟的順序,先執行批處理命令
再去執行構建
我這邊還遇到了一個問題,因爲公司搭建了本身的nuget服務,有些包須要從公司的nuget服務上下載,因此這邊拋出了錯誤
按照上圖地址去修改nuget.config文件,加上自定義源
這時去構建應該沒有什麼問題了,若是還有錯誤,看控制檯結果去解決
咱們如今來來看看構建的參數,
/t:Rebuild 表示每次都重建,不使用增量編譯
/P:Configuration=Release 表示編譯 Release 版本
/p:DeployOnBuild=true;PublishProfile=XStore.HeadPc.Test.pubxml 發佈文件
/p:AllowUntrustedCertificate=True 發佈時的證書信任
 
這裏用到了webdeploy,具體安裝使用就不細說了,你們自行了解
自動生成的pubxml中不會保存密碼,記得去增長一個password的節點
 
  1. 關於觸發器

通常使用輪詢SCM,定時獲取代碼,當獲取到的代碼發生變化時,進行構建發佈,能夠點擊問號查看語法說明

  1. 總結

能減小一些重複的工做,開發人員不須要每次將代碼獲取到本地編譯後發佈,也能夠保證代碼的最新,不會由於開發人員的疏忽,未獲取最新代碼

相關文章
相關標籤/搜索