【问题标题】:How do I integrate NuGet into my Bamboo Build Plan?如何将 NuGet 集成到我的 Bamboo 构建计划中?
【发布时间】:2012-01-30 16:14:03
【问题描述】:

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

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

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

构建应该调用一些特殊的东西,还是我完成了?我想我只是担心竹子没有直接与我的存储库对话......

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

【问题讨论】:

    标签: continuous-integration nuget bamboo


    【解决方案1】:

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

    1. 将我的解决方案中的 NuGet 升级到高于 2.7 的版本(在我的情况下为 2.8.3;这似乎是一个可选步骤)
    2. 在构建服务器上安装了 NuGet.exe
    3. 将 NuGet.exe 添加到我的远程代理中,以便它可以作为 Bamboo 的命令运行
    4. 在我的构建计划中添加了 NuGet 命令,参数为restore(这样命令将是nuget restore);我已将它放在我的 MSV 构建任务之前。

    这就是根据最新指南使其正常工作所需的全部内容。

    【讨论】:

    • 嗨 Pascal,现在我需要一些帮助才能在构建服务器上获取 nuget 包,因此对此发表评论有点晚。构建服务器安装了2019 VS,我已经要求管理员在构建服务器上安装nuget.exe。一旦他安装了它,我需要做的就是创建一个命令任务,该任务将在 MSBuild 任务之前运行,对吗?我认为我不太明白您将 neget.exe 添加到远程代理的含义。我相信当我创建一个命令任务时,我已经看到了 Nuget 一个选项......这可能是 2017 年不可用,但现在它可用。
    • 嗨@bladerunner。自从我从事这个项目以来已经有一段时间了。而且我已经不在那个组织了。因此,恐怕我无法再为您提供任何帮助,只能说最新版本的工具确实很可能会有所不同。
    • 嗨@Pascal,没问题。在与团队中的某个人合作后,我能够解决这个问题。感谢您的回复。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      我确定这是旧消息,但我的包在 \packages 中。在我明确提到 packages 文件夹之前,再多的“dotnet restore”都行不通。

      dotnet restore --packages .\packages
      

      恢复它们!

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多