我有几个WCF和WebAPI服务以及MVC网站在一个可视化工作室解决方案。目前,我们正在为这些服务和网站创建要部署到IIS的WebDeploy包。我开始研究八达通部署,以部署我们的服务和网站,而不是WebDeploy。然而,八达通部署使用Nuget包进行部署。
我试图弄清楚如何轻松地创建一个Nuget包,其中包含通常将被发布到一个WebDeploy包中的所有文件。这可能不是项目目录或bin目录中的所有文件。我找到了这博客文章,描述了如何在构建过程中将csproj包打包到Nuget包中,但我发现生成的包不包含任何依赖dll。我意识到我可以手动为每个项目编写一个nuspec,并包含我想要的文件,但我正在寻找一种更自动的方式,因为这会在项目更改时产生更多的维护。
有没有人知道如何生成只包含运行应用程序所需文件的nuspec或Nuget包,类似于发布到WebDeploy包只包含它需要的文件的方式?
发布于 2016-01-04 19:45:19
在使用了Visual、MSBuild和TeamCity之后,我发现了一种适合我的方法。我的问题是,我不想打包我的项目目录中的所有文件,只有那些运行应用程序所必需的文件。WebDeploy在发布时很好地处理了这一问题。我已经在csproj文件中设置了将在构建时创建一个WebDeploy包的设置,但这是一个zip文件,我不希望在Nuget包中使用zip文件。
我找到了两种处理这件事的方法:
我决定使用选项1,因为它需要对我现有的csproj和CI构建配置进行最小的更改,而且它不会破坏我们使用WebDeploy部署的现有方法。
发布于 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服务器。
https://stackoverflow.com/questions/34387803
复制相似问题