Windows 下 Jenkins 集成 .net mvc 項目

2,336次閱讀
尚無留言

共计 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
評論(尚無留言)

夜升筆談

夜升筆談
夜升筆談
視寫代碼為信仰,奉高效能為執著,成為大牛不是一蹴可幾,但只要秉持信念終究能成,我依舊在這條路上不斷前進。
最新评论
Yosheng Yosheng 我是买梯子了 只是理解一下原理而已
虚拟信用卡 虚拟信用卡 还是直接买梯子吧,太浪费时间了
spring spring 学习了
cskepper cskepper 非常有用,已经顺利解决
cskepper cskepper 非常有用,已经顺利解决
Yosheng Yosheng 這可能是代理服務器的問題了...
淑淑 淑淑 我在大陸使用了VPN 照著你說的操作 但是出現無法透過代理伺服器連線 我的電腦是W7 也下載了兼容版 用了大概一個星期後今天LINE就無法使用VPN了 這種要怎樣解決
Yosheng Yosheng 如果不能直接撥放建議直接下載回來播放,後面我就沒去折騰為什麼不能線上播放了
SADFISH SADFISH 我无法播放语音是为什么呀楼主
Yosheng Yosheng 微信号 yosheng0323