4

我公司的系统是由 ASP.NET 网站、Web 服务、Windows 服务和数据库的集合构建的。(总共大约 40 个)

我们维护三个环境——QA、PREPROD 和 LIVE;但是管理在每个环境中安装(和工作)的东西是一个真正的痛苦。我们似乎花了更多时间调试在实际开发功能的每个环境中安装和工作的内容。

我正在寻找环境级别的“差异”工具 - 可以告诉我环境之间有什么不同,每个环境上运行哪些服务等等。

有没有像这样的现有工具?

谢谢!

4

4 回答 4

1

我的开发团队目前正在使用一个名为ConfigMerge(可在 CodePlex 上获得)的工具来帮助我们对 web.config 文件进行源代码控制。您可能不太关心 SCM,但这样的工具可以帮助您管理配置文件的部署,因为您可以保留所有服务器通用的单个文件,并分解需要为每个服务器修改的特定 XML 元素服务器。让 ConfigMerge 工具创建最终结果并进行部署。

这并不能帮助您进行“配置差异”,但它可能有助于减少需要。

于 2009-05-06T15:15:28.433 回答
0

我能想到的最接近的是Visual Studio Team System Deployment Designer。您可以设计系统模型及其逻辑部署架构,并可以根据物理部署对其进行验证。例如,您可以验证是否正确设置了虚拟目录,检查组件和服务器的版本和补丁等......

您还可以创建报告“在部署图上显示每个图以及每个应用程序、逻辑服务器、端点或区域的所有资源和设置的列表。您还可以在报告中包含部署图验证错误和警告的列表. 应用程序开发和基础设施团队可以使用此报告来共享评估应用程序需求和数据中心策略之间的冲突所需的信息。”

于 2009-05-16T15:02:24.067 回答
0

我们使用一个构建服务器,它负责在成功构建到我们的开发环境时自动部署站点、服务等。

因为我们使用的是 TFSBuild,所以我们使用 TFSDeployer 来监控构建质量设置。当它切换到“暂存”时,一些 powershell 脚本会执行以将构建移动到我们的暂存环境中。

对于生产,我们还使用了 TFSDeployer 并稍作改动。它不是直接进入生产文件夹,而是将其移动到生产服务器上的备份文件夹中。然后基础设施团队手动将其从他们的位置复制到最终的休息地点。这样可以确保没有人意外部署到生产环境。

总而言之,设置和解决任何问题需要花费几周的时间。从那时起,每个人都更快乐,我们总是确切地知道每个环境中的情况。

于 2009-05-06T15:11:52.593 回答
0

补充一下,您可能还想使用 FinalBuilder,它是用于构建自动化的神奇工具,它为我节省了很多时间做与您所做的类似的事情,它可以自动化整个过程,编译 Visual Studio 项目,文件比较,FTP。

希望这可以帮助。

于 2009-05-06T20:50:39.753 回答