8

我尝试过没有运气的文档。
http://docs.nuget.org/docs/workflows/using-nuget-without-committing-packages http://docs.nuget.org/docs/reference/package-restore

我不想将我的包文件夹提交给 SVN,我正试图让包恢复在 Jenkins 中触发,但我不确定如何去做。在视觉工作室本地一切正常。如何让它与我的 Jenkins 版本一起使用?我收到 ResolveAssemblyReferences 错误。找不到程序集。

如果可能,我不想使用 MSBuild-Integrated Package Restore。我不想将 .Nuget 文件夹添加到 SVN。

詹金斯可以使用自动包恢复吗?还是我必须使用命令行包还原? https://docs.nuget.org/docs/reference/package-restore

我需要在 Jenkins 中设置哪些特殊设置?

PS 我已经安装了 jenkins 插件,我正在使用 MS VS 2010。

4

1 回答 1

7

任何你可以在命令行上做的事情,你都可以在 Jenkins 中做。在 Jenkins 中,您可以指定多个构建步骤(请参阅添加构建步骤按钮)。从命令行执行包恢复,就像您可以在自己的机器中执行的操作一样。从下拉菜单中选择执行 Windows 批处理命令。当您有多个构建步骤时,您可以重新排序构建步骤。在构建步骤的描述旁边有一个小句柄(即在您可以指定 Windows 命令的字段上方显示执行 Windows 批处理命令的位置)。

但是,在阅读最新文档时,您可以package-restore在解决方案文件中执行此操作。这将是可取的。此外,使用版本控制的忽略选项来忽略下载这些包的文件夹。这样,没有人会不小心将下载的包签入版本控制。

在 Jenkins源代码管理部分下,使用“通过首先删除未版本化/忽略的文件,然后是 'svn update' 来模拟干净的签出”,或者如果这不起作用,则在源代码管理下使用“始终签出一个干净的副本”。我发现当你进行构建时,VisualStudio 会在所有地方植入东西,而当你尝试重新构建时,这可能会干扰。

于 2014-04-07T17:08:56.873 回答