如何将NuGet整合到我的Bamboo构建计划中?

时间:2011-12-30 16:17:22

标签: continuous-integration nuget bamboo

我们针对Sitecore(.Net)网站的构建计划目前正在使用Bamboo作为持续集成过程的构建计划主数据。 Bamboo支持构建.Net项目,该.Net项目包含对几个Sitecore二进制文件的引用。

我使用NuGet作为工件库,主要是因为它似乎是大多数人使用的。

所以,既然我有一个nuget存储库,我hosting my own feed,并且已经将Nuget包添加到我的项目中(我刚刚安装了我创建的二进制包),我还需要做什么? / p>

构建是否需要特殊的东西,或者我是否完成了?我想我只是觉得竹子不是直接与我的存储库交谈....

在我最接近的类比中,即Maven / Archiva组合,maven计划专门引用archiva中的工件,根据需要提取正确的版本。 NuGet会这样做吗?

3 个答案:

答案 0 :(得分:8)

由于NuGet包恢复方法有了一些新的发展,我想我会发布一个关于这个主题的更新。我们正在使用Visual Studio 2012.我希望能够运行MSBuild并确保它首先恢复NuGet包而不在配置中将“Package restore”设置为true。这就是我所做的(灵感来自https://stackoverflow.com/a/23935892/414376):

  1. 在我的解决方案中将NuGet升级到2.7以后的版本(在我的情况下为2.8.3;这似乎是一个可选步骤)
  2. 在构建服务器上安装NuGet.exe
  3. 将NuGet.exe添加到我的远程代理,以便它可以作为Bamboo的命令运行
  4. 使用参数restore将NuGet命令添加到我的构建计划中(以便命令为nuget restore);我把它放在我的MSV Build任务之前。
  5. 根据最新指南,这就是我需要让它正常工作的全部内容。

答案 1 :(得分:6)

Nuget 1.4+支持“包恢复”,它在项目文件中嵌入对MsBuild任务的调用。当包不可用时,它将在构建项目时自动恢复它们。

答案 2 :(得分:0)

我确定这是旧消息,但是我的软件包在\ packages中。直到我明确提到“ packages”文件夹,才能进行“ dotnet restore”操作。

dotnet restore --packages .\packages

恢复了它们!

VS2019。以防万一它是特定于版本的。