Windows 下 Jenkins 集成 .net mvc 項目

2,030次閱讀
尚無留言

共计 2318 个字符,预计需要花费 6 分钟才能阅读完成。

筆記一下在 windows server 2019 下安裝 jenkins 後如何配置 .net mvc 項目的發布,畢竟當時踩了很多坑🤦‍♂️,也是出於自對 jenkins 的不熟悉吧😂。

安裝插件並配置

Git

服務器安裝 Git

官方網站 根據系統選擇版本下載後打開一直下一步進行安裝即可,就不詳細說明了👻

Jenkins 配置

先到套件中心安裝 Git 後打開如附圖配置,因為預設安裝 git 會將該工具加入環境變量中所以才可以直接調用🚀,否則得自己輸入絕對位置

Windows 下 Jenkins 集成 .net mvc 項目

MSBuild

服務器安裝 MSBuild

先到 官方網站 下載工具 如下附圖

貌似從 VS 2017 版本以後的 Build Tool 都採用這種下載模式安裝不像過去都是一個 msi 安裝包

Windows 下 Jenkins 集成 .net mvc 項目

下載完成後到目錄底下輸入以下命令後會進行離線下載

.\vs_BuildTools.exe --add Microsoft.VisualStudio.Workload.MSBuildTools --layout d:\offlineBuildTool --lang en-us

下載完成後如下圖,會看到下載很多的套件,建議封裝成 ISO 鏡像 再傳送到服務器上面

Windows 下 Jenkins 集成 .net mvc 項目

上傳到服務器後進行安裝即可

也許你會好奇為什麼要這麼麻煩? 因為服務器上沒有翻牆,所以下載很慢😂如附圖

Windows 下 Jenkins 集成 .net mvc 項目

這裡補充一下加速方式🚀修改 C:\Windows\System32\drivers\etc\hosts 文件 再最底下添加紀錄如下 110.53.72.104 download.visualstudio.microsoft.com 即可,速度如下圖

Windows 下 Jenkins 集成 .net mvc 項目

最後會跳出下圖彈框,中間會感覺卡很久補一下 Enter 就好🤦‍♂️,當時不知道就這樣白跑一晚上

Windows 下 Jenkins 集成 .net mvc 項目

Jenkins 配置

先到套件中心安裝 MSBuild 接著到附圖位置進行配置即可,這裡要注意因為我安裝的是 VS 2019 提供的 Build Tool 所以路徑如下

C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\

根據不同版本的 MSBuild Tool 路徑都會不同,其次是我開發環境使用 VS 2019 為了保持開發佈署相同才會選擇該版本🙈,編譯可以根據項目進行參數配置向下兼容👻

Windows 下 Jenkins 集成 .net mvc 項目

nuget

直接到 官方網站 下載執行檔即可,我是直接放在附圖路徑中方便後面調用

Windows 下 Jenkins 集成 .net mvc 項目

添加項目

添加項目確保已經配置好 git、MSBuild、nuget,不然建置會有各種錯誤

Jenkins 點選添加作業後如附圖,輸入名稱後選擇建置 Free-Style 軟體專案即可

Windows 下 Jenkins 集成 .net mvc 項目

配置原始碼管理

因為我自己架設 Gitea 所以 URL 為 Gitea 上面提供的 Repository 位置,之後再添加 Credentials 即可,這裡配置完可以先建置一次看看是否獲取成功👻

Windows 下 Jenkins 集成 .net mvc 項目

配置建置

添加執行 windows 批次指令用來還原項目中依賴的套件,指令如下,「%WORKSPACE%」是 Jenkins 提供的工作目錄變量

C:\Nuget\nuget.exe restore "%WORKSPACE%\SuiBill.sln"

接著添加 MSBuild 參數如下,因為我 iis 跟 jenkins 同台服務器所以發佈到 publishUrl 指定的位置上,這點可以根據自己需求修改🧐

/t:Rebuild /p:Configuration=Debug
/p:DeployOnBuild=true
/p:DeployDefaultTarget=WebPublish
/p:WebPublishMethod=FileSystem
/p:DeleteExistingFiles=True
/p:publishUrl=C:\inetpub\SuiBill

補充說明:

有些文章使用 PublishProfile 參數進行配置,前提項目中已經配置過 pubxml 文件 否則會因為找不到出錯🙈,另外 MSBuild 可以單獨編譯 csproj 進行發布

/ t 是 /target 的縮寫,/ p 是 /property 的縮寫,多個屬性間用分號或逗號分隔,最後不需要分號或逗號。舉例: /p:DeployOnBuild=True;PublishProfile=Testing-Environment-CI-publish

最後配置如下圖
Windows 下 Jenkins 集成 .net mvc 項目

以上都配置完成後點選儲存→馬上建置😉就可以囉

錯誤解決

Caused by: java.io.IOException: Cannot run program “git.exe”

這個原因是 git 沒有安裝導致,或者是環境變量沒有配置好🤦‍♂️

Windows 下 Jenkins 集成 .net mvc 項目

MSBUILD : error MSB1009: 项目文件不存在。

這個原因是找不到 Sln 但實際上目錄存在🤷‍♂️,最後是修改預設路徑位置

Windows 下 Jenkins 集成 .net mvc 項目

因為是我的 Jenkins 是預設安裝所以預設目錄在 C:\Windows\System32\config\systemprofile\AppData\Local\Jenkins.jenkins,打開目錄中 config.xml 並修改 workspaceDir 參數如附圖

Windows 下 Jenkins 集成 .net mvc 項目

修改完成在重新建置就好了🤷‍♂️,很神奇,當時我尚未配置這參數時嘗試修改項目的絕對路徑還是報錯🤦‍♂️就是各種改都會報錯,總之很坑

 

正文完
 0
評論(尚無留言)