這篇文章主要介紹下使用Jenkins實現自動化部署web
- 下載
https://jenkins.io/download/c#
按步驟安裝便可,下載的是windows版本,安裝完成後,會看到這樣一個正在運行的服務windows
默認端口8080,建議修改瀏覽器
經過安裝目錄下的jenkins.xml文件修改服務器
端口修改後重啓服務app
經過瀏覽器第一次訪問會看到這樣一個頁面(我這邊不是第一次使用了,頁面找不到,從網上找了個圖片)dom
按照頁面上提示的路徑找到文件,獲得密碼輸入便可ide
接着進入插件下載頁面,能夠直接選擇建議插件svn
插件安裝完成後進入如下頁面,建立一個管理員賬號工具
我在建立完成後遇到了空白頁的狀況,重啓下服務從新打開便可解決
jenkins建議插件中包含了svn,初始化時若是選擇了建議插件,就不須要再額外去安裝了
以下圖,選擇系統管理-》插件管理-》可選插件
Localization: Chinese (Simplified) 剛安裝完時,頁面一半中文,一半英文,安裝此插件可解決
MSBuild Plugin 編譯c#代碼必需
若是服務器上已安裝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的地址,保存便可
新建任務-》構建一個自由風格的軟件項目
源碼管理,選擇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的節點
通常使用輪詢SCM,定時獲取代碼,當獲取到的代碼發生變化時,進行構建發佈,能夠點擊問號查看語法說明
能減小一些重複的工做,開發人員不須要每次將代碼獲取到本地編譯後發佈,也能夠保證代碼的最新,不會由於開發人員的疏忽,未獲取最新代碼