Jenkins搭建C#編譯開發環境筆記

首先這不是一篇手把手教學,只記錄搭建過程中的問題彙總。

windows上安裝jenkins是以服務的方式跑的。如果是解壓版的,下文nuget那裏可能處理方式不同。
主要區別是服務是以 Local System 用戶跑的,AppData文件夾不一樣

  1. Msbuild下載就在vs2019下載頁面那裏,https://visualstudio.microsoft.com/zh-hans/downloads/ 下面的 Visual Studio 2019 工具 / Visual Studio 2019 生成工具
    和vs2019安裝方式基本差不多,可選各種模塊。nuget下載地址好找,就一個exe
  2. 上面兩個路徑都要添加到 環境變量 Path 裏
    msbuild我的默認路徑是 C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin 可以參考一下,反正就是文件夾裏有Msbuild.exe的路徑
    nuget直接放msbulid同目錄也可以,比較省事,Path裏添加一個路徑就行了
    這個改動需要重啓Jeikins服務生效
  3. 我的msbuild命令行給大家參考,用的jenkins裏的msbuild插件
nuget restore
msbuild -t:restore -p:Configuration=$env:Configuration -p:Platform="Any CPU" -v:minimal -p:WarningLevel=0  -t:Project0:Rebuild "./Solution.sln"
msbuild -t:restore -p:Configuration=$env:Configuration -p:Platform="Any CPU" -v:minimal  -p:WarningLevel=1 -t:Folder\Project1:Rebuild "./Solution.sln"

因爲我的sln文件裏包括好多項目,但是我只想編譯其中的兩個,

主要講兩點,1是jenkins變量的使用,2是vs項目文件夾的問題
$env:Configuration 是jenkins項目配置裏添加的參數,構建之前通過改參數就可以切換目標
powershell裏使用 $env:名稱 的方式使用
在這裏插入圖片描述
vs的解決方案項目文件夾不等於實際的目錄結構,Project1 和Project0 可能實際在一個目錄,命令行裏要以在vs的 解決方案瀏覽器 裏的組織結構爲準。

  1. 構建的時候遇到 error CS0006
    參考 https://stackoverflow.com/questions/48896486/jenkins-not-restoring-nuget-packages-with-new-msbuild-restore-target
    方案1設置個全局變量 NUGET_PACKAGES
    方案2拷貝Nuget.config文件,確保以下兩個位置都有nuget.config
    C:\Windows\system32\config\systemprofile\AppData\Roaming\NuGet\NuGet.config
    C:\Windows\SysWOW64\config\systemprofile\AppData\Roaming\NuGet\NuGet.config
    我這面方案1添加全局變量有效,需要重啓jenkins服務。

  2. jenkins主題,http://afonsof.com/jenkins-material-theme/ 我做了一點修改,下載的css文件,搜索’#main-panel‘把字體改了一下,對應於控制檯輸出窗口的字體。
    #main-panel>pre {
    font-family: Consolas !important
    }

#main-panel>pre>* {
font-family: Consolas !important
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章