MSBuild-Jenkins-Nuget集成

MSBuild-Jenkins-Nuget集成,jenkins,msbuild,nuget-package-restore,Jenkins,Msbuild,Nuget Package Restore,我们在使用Jenkins和MSBuild时遇到了一些奇怪的行为。 在命令行中手动键入以生成build.xml项目时: msbuild build.xml /T:Package /P:PublishProfile=Test /P:Platform="AnyCPU" /P:VisualStudioVersion=12.0 构建过程完全按照预期工作(构建、打包等) 但是,如果我使用Jenkins准确地执行这一操作,也就是说,打开一个命令行并运行这个准确的命令,

我们在使用Jenkins和MSBuild时遇到了一些奇怪的行为。 在命令行中手动键入以生成build.xml项目时:

msbuild build.xml /T:Package /P:PublishProfile=Test /P:Platform="AnyCPU" 
                  /P:VisualStudioVersion=12.0
构建过程完全按照预期工作(构建、打包等)
但是,如果我使用Jenkins准确地执行这一操作,也就是说,打开一个命令行并运行这个准确的命令,我会得到一个错误提示:

The command ""..\.nuget\NuGet.exe" install 
"C:\Jenkins\jobs\.....\workspace\MYPROJECT\packages.config" 
-source ""  -NonInteractive -RequireConsent -solutionDir "..\ "" exited with code 1
即使我使用内置的jenkins插件来运行该命令(无论我使用哪种parma组合),它仍然不会运行。
我知道以下两种方法听起来像是一种解决方案,但它们不起作用:

  • 权限-我的服务器始终以管理员身份运行
  • 从VS在NuGet上启用包还原-已启用
    任何想法都会很棒

    答案是这样的,解决这个问题花了很长时间,多亏了我,我才意识到这个问题是因为Jenkins runner的用户(即Jenkins服务)和我的用户之间的差异。为了解决这个问题,我让Jenkins作为同一个用户运行,一切都很好

    逐步:

  • 转到控制面板->系统和安全->管理工具
  • 单击服务快捷方式
  • 右键单击Jenkins服务并选择Properties
  • 导航到“登录”选项卡
  • 单击以此用户身份运行并填写您的凭据
  • 重新启动詹金斯
  • 工作起来很有魅力