[Jenkins 2]ms build的時候發生(請確認 Import 宣告中的路徑正確,而且檔案存在於磁碟上。)的錯誤,還有如何使用nuget來自動還原package

這篇主要是筆記一下有關一個入門的時候,遇到的一些問題和如何排除

 

前言

因為jenkins的文章非常多了,但我想要記錄一下我裝好所遇到的一些問題和麻煩,在google的時候發現好像很少文章有提及這部份,可能是我入門太菜了,所以別人認為是基礎應知的,所以都沒有提到這些部份,記錄下來讓跟我一樣入門也遇到這些問題的人,可以有些幫助。

 

在設定工作區路徑的一些困惑

因為我看到的文章,大部份就是貼路徑了,但其實我們的路徑都跟別人的不一樣,那如何查我們正確的路徑應該是什麼呢??舉個例子如ms build的時候,file的位置。

其實我們可以到jenkins的首頁,然後工作目錄去看正確的路徑,注意必須先建置過後才會有路徑可以查看。

因為建置主要是sln檔,所以我們必須正確找出路徑該怎麼填寫,如圖示例

接著我們回到新工作的組態裡面,把路徑填上去,如下

完成之後我們馬上建置,會發現建置失敗,看一下錯誤訊息說明

這個原因則是因為Ms build在編譯的時候不知道要用什麼版號,因為我的是vs2015,我們可以看C:\Program Files (x86)底下有幾種版本

在此我直接選擇14.0的版本,然後輸入此指令"/p:VisualStudioVersion=14.0",到組態設定的Ms build的部份

 

 

 

Nuget還原的部份

 

上個部份完成之後,我們就可以再編譯了,但因為我們簽入的時候,一些會變動導致大家會容易衝突或者佔空間的東西會先排除掉,比如bin或package的部份,這時候建置會再出現另一種錯誤如下圖。

 

有時候則是說找不到引用空間之類的,這時候我們必須要先去下載nuget.exe回jenkins,我個人jenkins的安裝路徑則是C:\Program Files (x86)\Jenkins,直接把nuget.exe檔搬到這個位置,接著則是要新增nuget還原的指令

cd "%JENKINS_HOME%"
nuget.exe restore "%WORKSPACE%\WebApplication1\WebApplication1.sln"

​一樣是在組建底下,會有一個新增建置步驟,然後如下圖示例

 

按儲存之後我們再去編譯,發現好像沒有效果,這是因為我們nuget還原必須是要在建置之前,所以這邊我們需要把批次指令移動到建置的上方,這邊區塊是可以揓拉移動的。

最後編譯就可以正常work了,其實當我們建置的時候,jenkins會把版控的檔案複製一份到本機上,路徑則會是在C:\Program Files (x86)\Jenkins\jobs的裡面,所以對應路徑只要是用jenkins的語法去設定,他則會自動對應好,但知道一下總是會比較幫助。

 

結論

 

如果入門者也有遇到這部份的問題,希望可以有點幫助,或許有更好的作法,再請指教囉。