Jenkins:nuget restore 須留意 nuget.config 設定檔位置
RojerChen.2021.03.04
「奇怪,我不是已經改了 nuget.config 了嗎?為什麼使用 Jenkins 跑 nuget restore 還是會連到api.nuget.org?」
「因為執行nuget restore 的帳號不一樣」
依據說明,當我們在執行 nuget restore 的時候,會預設讀取 %AppData%\NuGet\NuGet.config
也就是 C:\Users\rojerchen\AppData\Roaming\NuGet\NuGet.config
但是當你使用 Jenkins 來執行的時候,使用的帳號是「nt authority\system」而不是「rojerchen」,而相對設定檔的路徑就變成 C:\WINDOWS\system32\config\systemprofile\AppData\Roaming\NuGet\NuGet.config
這也就是為什麼不論我樣調整設定檔,最終都還是會連到 api.nuget.org。
只不過這樣要再去改環境設定檔也挺麻煩的,比較建議還是在 nuget restore 的時候,直接指定 nuget.config ,這樣日後重新安裝 Jenkins 環境,就不需要額外再設定。
※延伸閱讀