我知道我们需要通过单个用户操作来部署应用程序。但是,我不知道:
有人能为我指出一些可持续整合的好资源。我想看一些理论以及一步一步的实用指南。
修改
我现在需要自动化Web部署;但是,我也想学习如何为桌面应用程序执行此操作。
答案 0 :(得分:5)
我写了一篇可能有帮助的博客文章:
Visual Studio Web Deployment Projects
这是一年半的历史,但谈到了VS的一些新的(当时)项目模板,以及来自IIS团队的名为MSDeploy的命令行实用程序。他们听起来很有前途,看起来它们非常适合定位多个构建配置,跨服务器场同步多个服务器,以及更多地控制网站部署的实际输出。
也许现在技术已经成熟。
答案 1 :(得分:2)
我们在Windows Installer XML取得了巨大成功。基本上,您使用XML定义组成应用程序的组件,WiX将其转换为MSI包。文档相对稀疏,但提供的CHM文件与搜索功能相结合将为您提供很长的路要走。
MSI包可以获取配置值的输入参数,并在部署应用程序后执行操作配置文件的操作。例如,“msiexec / i MyCustomPackage.msi SqlServer = SomeSQLBox”可以部署Web应用程序并修改依赖SQL框的配置条目。
答案 2 :(得分:1)
Visual Build Pro是一键式部署的非常好的工具。它易于使用,并具有很多功能。我已经使用它多年了。当然还有NAnt,我没用太多。
就管理配置更改而言,我管理多个配置文件,其中包含指示部署环境的扩展,然后只需将一个简单的重命名作为构建脚本中的一个步骤。
例如,如果我正在部署到Test,我可能会有一个名为Web.test.config的配置文件,它会被构建脚本自动重命名为Web.config。
答案 3 :(得分:1)
我使用TeamCity编写了一篇非常详细的博客文章,以及Web部署项目,以自动化构建和部署作为启动器:
我已添加到此以显示FTP添加
http://www.diaryofaninja.com/blog/2010/09/21/continuous-integration-tip-1-ndash-ftp-deployment
基本流程非常简单:
然后我确保我只部署SVN仓库的Trunk,并在合并之前开发并测试分支中的所有内容 - 这样只会测试部署的测试内容。在您的构建周期中添加自动化测试,您就可以在天堂进行匹配。
一些很棒的免费工具:
答案 4 :(得分:0)
我看到两个不同的问题:
答案 5 :(得分:0)
CruiseControl.NET用于ContinuousIntegration解决方案。对于部署,我使用MSBuild项目文件。最重要的是,我保留了所有服务器配置文件。我通过参数传递给MSBuild一个服务器属性,告诉MSbuild使用哪些配置值,然后完成部署。 CruiseControl无法完成的唯一部署是我们的实时服务器。我们离开命令行MSBuild只是为了让我们不小心按下按钮,或者有权访问CC.NET web仪表板的人只是在玩游戏。