.NET解决方案下的部署工具

7
我们都会编写代码,从小型应用程序(如一个 .exe 文件)到大型应用程序(如完整解决方案),涉及网络应用程序、Windows 应用程序、数据库、帮助文件、配置文件和注册表值...
我的问题很简单,在我看来是这样的,现在我需要在一个安装设置中部署 Web 应用程序和 Windows 应用程序:
你在部署应用程序时使用什么工具,关于创建帮助文件、数据库脚本,以便我们可以创建数据库和表,创建虚拟目录用于 Web 应用程序,添加注册表值以与我们的 Windows 应用程序一起使用?
我只是在 Visual Studio 2008 中打开“设置和部署”,但是是我自己的问题还是它缺少许多此类功能?在这方面是否有更好的东西可以尝试?
我知道公司在使用Inno Setup,但它并不能满足所有需求,是否有好的教程可以看一看?
在我的搜索中,我在Visual Studio Gallery发现了一些产品,但没有一个是全能的 :(
谢谢。
5个回答

3

我已经写了一篇非常详细的博客文章,介绍如何使用TeamCity和Web Deployment项目来自动化构建和部署,作为一个入门指南:

http://www.diaryofaninja.com/blog/2010/05/09/automated-site-deployments-with-teamcity-deployment-projects-amp-svn

我随后添加了这个来展示FTP的添加

http://www.diaryofaninja.com/blog/2010/09/21/continuous-integration-tip-1-ndash-ftp-deployment

一个基本的流程非常简单:
  • 使用TeamCity构建服务器从我的SVN仓库下载
  • 在构建服务器上构建和部署网站到本地文件夹
  • 启动一个支持脚本的命令行FTP客户端,称为WinSCP,使用MSBUILD任务EXEC(http://winscp.net/
  • 上传所有网站内容
  • 享受你选择的[插入饮料]

然后,我确保只部署我的SVN仓库的Trunk,在分支中开发和测试所有内容,然后合并 - 这样只有经过测试的东西才会被部署。将自动化测试添加到您的构建周期中,您就可以得到一场天堂之约。

一些很棒的免费工具包括:

提供此服务的一些非免费在线服务:


我了解了TeamCity,甚至下载并尝试做一些事情...但它太大了,太难开始(学习曲线太高),但我会阅读你的博客文章:)...虽然屏幕录像可能更好:P - balexandre
请勿在多个问题中发布相同的答案。发表一个好的答案,然后投票/标记关闭其他重复的问题。如果问题不是重复的,请根据问题调整您的答案。 - A-Sharabiani

2

我强烈建议使用NSIS,你可以在论坛上获得很多帮助。


2
如果你对自我伤害感兴趣,可以看看WiX(http://wix.sourceforge.net)。WiX被微软的一些产品团队使用,并由微软员工维护,但这基本上是他们在SourceForge上唯一的开源项目。
它非常强大,具有实现你想要的所有功能的特点,但所有操作都是通过XML完成的,可能有点棘手。好的一面是,一旦设置完成,它将与自动化构建完美集成,因为它支持在Visual Studio中使用(MSBuild支持)。

0

我们在这里使用FinalBuilder和FinalBuilder服务器。它可以让您使用相对友好的构建界面构建复杂的构建流程,并从Web应用程序或定时器启动它们。

我们的“平均”项目将从SVN获取源代码,将修订号添加到版本并进行构建,获取数据库脚本并升级或重建数据库,然后部署到Web服务器,将其压缩为ZIP以便发送电子邮件,甚至创建ISO文件。


FinalBuilder 只是用来设置事项的,它不会生成完整的安装应用程序以供安装。 - balexandre

0

过去,设置和部署项目对于简单的设置(如创建虚拟目录和打包文件,例如文档等)非常有用。

如果您想要更多的功能,请查看WIX


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接