关于 Jenkins 和 NuGet 包还原,我遇到了一些小问题。
我正在尝试做的是在 jenkins 上构建解决方案(效果很好)。我为解决方案启用了包还原,它会生成包含 NuGet.exe、NuGet.Config 和 NuGet.targets 的 .nuget 文件夹。
在 Jenkins 上,我将一些项目作为 NuGet 包发布在我们服务器上的私有包源中。我在其他项目中使用这些包,这些包应该建立在 jenkins 本身上。
VS 知道私有包源,它在全局 NuGet.Config 文件(AppData 下的那个)中配置,并且没有被禁用(默认情况下)。
现在,当我尝试构建一个需要来自私有包源的包的解决方案时,构建失败,因为 jenkins 不知道它,因此-source
在恢复没有被替换为 jenkins 的包时提交一个空参数不知道自定义来源。
到目前为止我尝试过的
我已经知道将私有源添加到解决方案 NuGet.Config- 或 NuGet.Targets-file
Package-Source
可以解决问题,但这意味着,对于我想使用 Jenkins 构建的每个解决方案,我都必须这样做。我还通过将源添加到文件中的 package-source 标记甚至使其成为活动源,来使用 AppData 和 ProgramData 中的配置文件,但这也无济于事
当然,提交包是一种解决方法,但这不是预期的结果,因为我们想忽略 scm 中的包。
基本上,我想知道是否有办法让 Jenkins 不断了解私有包源,或者操纵开发人员机器上的 NuGet 安装,以便他们生成NuGet.targets
包含私有包源的 -file . 另一个可能的修复方法是 msbuild 的参数,我不知道。
任何帮助是极大的赞赏!