共计 2318 个字符,预计需要花费 6 分钟才能阅读完成。
筆記一下在 windows server 2019 下安裝 jenkins 後如何配置 .net mvc 項目的發布,畢竟當時踩了很多坑🤦♂️,也是出於自對 jenkins 的不熟悉吧😂。
安裝插件並配置
Git
服務器安裝 Git
到 官方網站 根據系統選擇版本下載後打開一直下一步進行安裝即可,就不詳細說明了👻
Jenkins 配置
先到套件中心安裝 Git 後打開如附圖配置,因為預設安裝 git 會將該工具加入環境變量中所以才可以直接調用🚀,否則得自己輸入絕對位置
MSBuild
服務器安裝 MSBuild
先到 官方網站 下載工具 如下附圖
下載完成後到目錄底下輸入以下命令後會進行離線下載
.\vs_BuildTools.exe --add Microsoft.VisualStudio.Workload.MSBuildTools --layout d:\offlineBuildTool --lang en-us
下載完成後如下圖,會看到下載很多的套件,建議封裝成 ISO 鏡像 再傳送到服務器上面
上傳到服務器後進行安裝即可
也許你會好奇為什麼要這麼麻煩? 因為服務器上沒有翻牆,所以下載很慢😂如附圖
這裡補充一下加速方式🚀修改 C:\Windows\System32\drivers\etc\hosts 文件 再最底下添加紀錄如下 110.53.72.104 download.visualstudio.microsoft.com 即可,速度如下圖
最後會跳出下圖彈框,中間會感覺卡很久補一下 Enter 就好🤦♂️,當時不知道就這樣白跑一晚上
Jenkins 配置
先到套件中心安裝 MSBuild 接著到附圖位置進行配置即可,這裡要注意因為我安裝的是 VS 2019 提供的 Build Tool 所以路徑如下
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\
根據不同版本的 MSBuild Tool 路徑都會不同,其次是我開發環境使用 VS 2019 為了保持開發佈署相同才會選擇該版本🙈,編譯可以根據項目進行參數配置向下兼容👻
nuget
直接到 官方網站 下載執行檔即可,我是直接放在附圖路徑中方便後面調用
添加項目
Jenkins 點選添加作業後如附圖,輸入名稱後選擇建置 Free-Style 軟體專案即可
配置原始碼管理
因為我自己架設 Gitea 所以 URL 為 Gitea 上面提供的 Repository 位置,之後再添加 Credentials 即可,這裡配置完可以先建置一次看看是否獲取成功👻
配置建置
添加執行 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
以上都配置完成後點選儲存→馬上建置😉就可以囉
錯誤解決
Caused by: java.io.IOException: Cannot run program “git.exe”
這個原因是 git 沒有安裝導致,或者是環境變量沒有配置好🤦♂️
MSBUILD : error MSB1009: 项目文件不存在。
這個原因是找不到 Sln 但實際上目錄存在🤷♂️,最後是修改預設路徑位置
因為是我的 Jenkins 是預設安裝所以預設目錄在 C:\Windows\System32\config\systemprofile\AppData\Local\Jenkins.jenkins,打開目錄中 config.xml 並修改 workspaceDir 參數如附圖
修改完成在重新建置就好了🤷♂️,很神奇,當時我尚未配置這參數時嘗試修改項目的絕對路徑還是報錯🤦♂️就是各種改都會報錯,總之很坑