【问题标题】:How to build single nuget package for multiple projects in a solution如何为解决方案中的多个项目构建单个 nuget 包
【发布时间】:2014-11-10 16:43:23
【问题描述】:

我有一个包含多个项目的 Web 应用程序解决方案。我正在使用 Octopack 准备构建并将其发布到我的 Web 服务器。

我的 Web 应用程序部署结构如下所示

-我的网络应用程序(根文件夹) - WS1(虚拟目录) - WS2(虚拟目录) - PT1 - PT2

这里,WS1 和 WS2 是虚拟目录。 PT1 和 PT2 是代表不同项目的物理目录。

在构建我的解决方案时,该解决方案有四个与上述部署结构相对应的不同项目。每个项目都有 OCTOPACK 的参考,在使用 MSBUILD 构建解决方案时,我注意到构建了 4 个不同的 nuget 包。

有什么方法可以构建到具有上述部署结构的单个包中,以便在 OCTOPUS DEPLOY 中进行部署。提前致谢。

【问题讨论】:

  • 只是出于好奇,用一个而不是四个有什么好处?你不希望 Octopus 将每个项目单独部署到 Web 服务器吗?
  • @BruceVanHorn 优势在于,我可以设法在 Octopus 部署中为每个发布版本查看一个包,而且我确实有一个 Web 服务器,其中我的所有服务都配置在一个根目录下应用程序作为虚拟目录。

标签: visual-studio-2010 msbuild nuget nuget-package octopus-deploy


【解决方案1】:

我认为你不能,因为 Octopus Deploy 似乎不支持项目级别以上的粒度。如果您可以整体部署一个解决方案,那么您所要求的可能会奏效,但 Octopus 中可用的流程步骤在每个项目中几乎是一致的。我看到了一个部署的吸引力,因为你认为一个包含四个内容的单一产品发布的方式是什么,但 Octopus 的设置避免了每次部署的站点/服务比例为 1:1。

如果您放弃 Octopus Deploy,您可能会获得团队城市或构建脚本来制作一个 nuget 包,然后您可以使用 powershell 或 final builder 之类的东西进行部署。想想看,Final Builder 可能会完成整个工作,包括生成单个包。

但是你会失去 Octopus 仪表板的魅力。

【讨论】:

    【解决方案2】:

    在使用 octopack /p:OctoPackProjectName=your package filename 创建包时使用此参数

    【讨论】:

      猜你喜欢
      • 2011-11-09
      • 1970-01-01
      • 1970-01-01
      • 2013-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多