2012-11-28 63 views
2

我们正在尝试将我们的新ASP.NET项目与Octopus集成,我想知道是否有人试图使用Octopus来部署经典的ASP网站?用Octopus部署一个经典的ASP网站

我知道这是可能的,我知道如何在理论上做到这一点,但我们的问题是由于ASP网站很庞大。在所有视频,图像和pdf的总大小总和后,该网站的重量不足3台演出。因此,当更改签入TeamCity并创建NuGet包时,Octopus将推出一个3 gig nuget包到2个独立的负载平衡服务器。

我们无法为媒体文件创建共享目录或cdn(至少现在还没有),所以任何人都可以告诉我一个很好的方法来解决这个问题吗?或者说Octopus对于一个大型的ASP站点不是一个好的解决方案,Web Deploy会更好?如果是这种情况,如何为Web部署实施备份解决方案,以便可以回滚任何错误?

感谢您对此提前的帮助。我们正在将这些ASP站点转换为MVC,但这需要一段时间,直到完成这一步,我们必须找到一种方法来处理它们。

回答

2

您应该将ASP站点和媒体文件打包为2个独立的NuGet软件包。这将允许您更新ASP代码并进行部署,而无需部署所有媒体文件(假设代码更改频率比媒体更频繁)。

实施细则

  • 设置TeamCity的打包ASP网站和媒体文件单独公布的NuGet包。
  • 章鱼部署添加各2个的NuGet包作为部署步骤的单个项目
  • 当您在八达通新版本选择的ASP代码和媒体文件的最新软件包版本之前发布的包版本。
  • 当你部署你可以检查一个框来跳过媒体文件的部署

提示

  • 发布使用八达通变“OctopusWebSiteName”指定媒体文件包应该部署在你的ASP站点的子目录中。 (如“默认网站/媒体”)变量可以被限定到特定的包,以便它仅在部署该包时适用。
+0

这太棒了。感谢您的详细回复。 –

1

你是否真的需要每次推送所有内容 - 你不能只推送更改?

+0

我对TeamCity和Octopus的部署过程知之甚少,Octopus会从TeamCity存储库中提取一个NuGet包。 NuGet包将包含ASP站点的完整源代码(4GB)。我错了吗? –