我知道我们需要通过单一用户操作来部署应用程序,但是我不知道:
- 在.NET环境中使用哪些好的工具?
- 如何管理每个环境下的配置更改?
能否有人指点我一些有关持续集成的好资源。我想看到一些理论以及逐步实践指南。
编辑:
我现在需要自动化Web部署;但是,我也想学习如何为桌面应用程序完成此操作。
我知道我们需要通过单一用户操作来部署应用程序,但是我不知道:
能否有人指点我一些有关持续集成的好资源。我想看到一些理论以及逐步实践指南。
编辑:
我现在需要自动化Web部署;但是,我也想学习如何为桌面应用程序完成此操作。
我写了一篇非常详细的博客帖子,介绍如何使用TeamCity和Web发布项目自动构建和部署:
我随后添加了这个来展示FTP的添加
http://www.diaryofaninja.com/blog/2010/09/21/continuous-integration-tip-1-ndash-ftp-deployment
一个基本的流程非常简单:
然后,我确保只部署我的SVN仓库的主干,并在分支中开发和测试所有内容,这样只有经过测试的内容才会被部署。将自动化测试添加到您的构建周期中,您就可以得到完美的匹配。
一些很棒的免费工具可供使用:
Visual Build Pro是Kinook公司开发的一款非常好用的一键部署工具。它易于使用且功能强大,我已经使用了多年。当然,还有NAnt,但我没有用过太多。
关于管理配置更改,我使用带有指示部署环境扩展名的多个配置文件进行管理,然后在我的构建脚本中将其重命名为一个简单的步骤。
例如,如果我要部署到测试环境,我可能会有一个名为Web.test.config的配置文件,该文件会被构建脚本自动重命名为Web.config。
我看到了两个不同的问题:
使用CruiseControl.NET进行持续集成解决方案。对于部署,我使用一个MSBuild项目文件。在顶部,我保留所有服务器配置文件。我通过参数将服务器属性传递给MSBuild,告诉MSbuild要使用哪些配置值,然后完成部署。唯一无法直接从CruiseControl进行部署的是我们的实时服务器。我们保留该命令行MSBuild,以便我们不会意外按下按钮,或者让访问CC.NET Web仪表板的人只是玩玩而已。