首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Web服务部署到Nuget包

将Web服务部署到Nuget包
EN

Stack Overflow用户
提问于 2015-12-21 01:26:54
回答 2查看 1.7K关注 0票数 0

我有几个WCF和WebAPI服务以及MVC网站在一个可视化工作室解决方案。目前,我们正在为这些服务和网站创建要部署到IIS的WebDeploy包。我开始研究八达通部署,以部署我们的服务和网站,而不是WebDeploy。然而,八达通部署使用Nuget包进行部署。

我试图弄清楚如何轻松地创建一个Nuget包,其中包含通常将被发布到一个WebDeploy包中的所有文件。这可能不是项目目录或bin目录中的所有文件。我找到了博客文章,描述了如何在构建过程中将csproj包打包到Nuget包中,但我发现生成的包不包含任何依赖dll。我意识到我可以手动为每个项目编写一个nuspec,并包含我想要的文件,但我正在寻找一种更自动的方式,因为这会在项目更改时产生更多的维护。

有没有人知道如何生成只包含运行应用程序所需文件的nuspec或Nuget包,类似于发布到WebDeploy包只包含它需要的文件的方式?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-04 19:45:19

在使用了Visual、MSBuild和TeamCity之后,我发现了一种适合我的方法。我的问题是,我不想打包我的项目目录中的所有文件,只有那些运行应用程序所必需的文件。WebDeploy在发布时很好地处理了这一问题。我已经在csproj文件中设置了将在构建时创建一个WebDeploy包的设置,但这是一个zip文件,我不希望在Nuget包中使用zip文件。

我找到了两种处理这件事的方法:

  1. 在TeamCity中,我设置了一个新的构建配置,它将打包我拥有的任何nuspec文件,并将生成的Nuget包发布到我的Octopus提要中。我发现我可以使用由CI构建配置创建的现有WebDeploy包作为工件依赖项,而TeamCity实际上可以在抓取作为该依赖项的构件时解压zip文件。然后,我的nuspec文件引用从zip文件中提取的整个文件夹结构,并将其打包到Nupak中。
  2. 我能够修改csproj设置,以使用我在Visual中生成的特定发布配置文件,该配置文件将执行WebDeploy包到文件系统。这将导致与#1中的zip文件相同的文件夹结构,但只需将其复制到目录中即可。然后,我的Nuget构建配置可以简单地获取这些依赖项,并按照#1中的方式打包它们。

我决定使用选项1,因为它需要对我现有的csproj和CI构建配置进行最小的更改,而且它不会破坏我们使用WebDeploy部署的现有方法。

票数 0
EN

Stack Overflow用户

发布于 2015-12-21 05:44:43

章鱼部署有一个名为"Octo.exe“的CLI,它可以将应用程序打包到NUPKG中。

您需要安装八达通工具,您可以从https://octopus.com/downloads下载

有关文档和如何使用该文档,请参见http://docs.octopusdeploy.com/display/OD/Using+Octo.exe

使用Octo.exe的一个很好的示例是连续集成管道的一部分,当构建成功通过时,您可以调用它来打包应用程序并将其发送到Octopus服务器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34387803

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档