一、目標 搭建jenkins伺服器以及配置一臺.net編譯的slave客戶端 完整跑通一個asp.net項目的發佈 二、搭建jenkins環境 2.1 安裝jenkins 1. 根據官網提示安裝 進入jenkins官網下載==最新(如果不是最新的包,可能會存在推薦插件不能安裝的現象)==的穩定包,我 ...
一、目標
- 搭建jenkins伺服器以及配置一臺.net編譯的slave客戶端
- 完整跑通一個asp.net項目的發佈
二、搭建jenkins環境
2.1 安裝jenkins
1. 根據官網提示安裝
- 進入jenkins官網下載==最新(如果不是最新的包,可能會存在推薦插件不能安裝的現象)==的穩定包,我使用的是2.222版本
- 下載好war(推薦用war包,方便)包後,運行如下命令
java -jar jenkins.war --httpPort=9800
- 然後訪問IP:9800進入jenkins的配置,第一次需要輸入生成的密碼,可以根據界面提示找到相關文件
- 插件安裝完成後進入主管理界面
2. 處理插件源的問題
在安裝jenkins提供的插件時,遇到了國內網路不穩定的問題,解決辦法就是更換鏡像源,網上好多都是推薦用[清華大學]的鏡像,但[清華大學]的鏡像伺服器的update-center.json文件內部的包引用地址,還是指向的jenkins更新中心。所以需要搭建一個update-center.json提供伺服器,
地址(這是我自己搭建,可供大家測試使用):http://jenkins.b-nature.cn:10026/jenkins/updates/update-center.json
- 換源方法如下:
- 進入插件管理->高級頁,配置新源地址
- 更換啟動命令
java -Dhudson.model.DownloadService.noSignatureCheck=true -jar jenkins.war --httpPort=9800
其中Dhudson.model.DownloadService.noSignatureCheck=true表示禁用upddate-center.json安全檢測
3. 本地安裝插件
jenkins也提供插件本地安裝的能力,也在“更新中心"->"高級"面板,操作簡單,此處不在贅述。
2.2 安裝.net相關插件
插件名 備註
SVN 1.4 Compatibility Plugin svn拉取代碼
PowerShell plugin 執行ps腳本
MSBuild Plugin 編譯.net項目
File Operations Plugin 對文件做操作
2.3 添加slave節點
- 在節點管理中心添加從節點配置
- 根據提示下載相應的包,並運行
- 然後在節點管理中心,就可以看到slave上線了
三、配置.net發佈job
配置.net發佈job,看上去很簡單,但經過實踐操作發現還是有許多點值得註意。
3.1 全局配置
- 全局憑據:jenkins對svn, git等有一個全局憑據中心來管理賬號,這類賬號可以在此中心管理,配置結果如下圖:
- 全局工具中心:添加msbuild編譯器
- 註意
- 其中配置的msbuild路徑應該是.net編譯環境所在位置,如果是在slave機器上,要配置slave機器上的路徑
- 此處註意msbuild版本的選擇,此處配置為.net4.5的msbuild路徑:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin
- 註意
3.2 創建一個自由風格的項目
這步簡單,暫不提供圖片
3.3 限制job在指定節點運行
3.4 配置svn倉庫
此處註意憑據的選擇,應該是對應得上,以及svn的地址要填寫正確
3.5 配置nuget
nuget的地址,指向是的slave節點存放nuget的地址,配置代碼如下:
"D:\nuget\nuget.exe" restore "FM.FLogReport.sln"
3.6 配置msbuild
配置代碼如下:
/t:build
/p:Configuration=Release
/p:WebProjectOutputDir=./bin/Publish
/p:OutputPath=./bin/Publish/bin
3.7 壓縮文件
此處註意:
- 徑是從job任務根路徑開始的,與下圖對比可知,歸檔文件路徑也是如此:
- 此處壓縮為zip文件
3.8 歸檔文件
四、運行job
按照上述配置完成後,執行"構建",就可以獲取job結果。