詹金斯没有找到一个nuget包

时间:2017-04-07 10:42:59

标签: jenkins msbuild continuous-integration nuget

我正在设置Jenkins CI服务器。我迈出了正确运行的第一步:

events.js:163
     throw er; // Unhandled 'error' event
     ^

Error: EPERM: operation nor permitted, lstat

这是正常的,但是当我想用以下代码编译应用程序时

nuget restore -NonInteractive  -ConfigFile Nuget.config -Verbosity Detailed -NoCache

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\MSBuild\15.0\Bin\MSBuild.exe 它抛出了这个错误:

${WorkSpace}\src\Weather.App.csproj

奇怪的是,曲棍球包明显存在于路径中: enter image description here

如果我在VS2017本地项目中运行相同的命令,一切运行顺利。但jenkins服务器(在我的同一台机器上)并没有正确构建它。

有什么想法吗?感谢

1 个答案:

答案 0 :(得分:1)

这就是窍门。

  1. 将nuget.exe放在他的服务器上。
  2. 确保nuget.exe在PATH环境变量中。
  3. 重新启动Jenkins,以使其获取更新的PATH环境变量
  4. 将NuGet升级到最新版本

    nuget.exe update --self

在Jenkins作业中,针对MSBUILD的调用重建将无法成功还原nuget软件包

在MSBUILD Clean之后和MSBUILD Rebuild之前添加Windows Batch步骤,如下所示:

nuget restore <your_solution_file>.sln

解决方案文件的路径是相对于工作空间的。

这将按照您的期望创建packages目录。