My companies' system is build from a collection of ASP.NET websites, webservices, windows services and databases. (around 40 all told)
我公司的系统是从ASP.NET网站,Web服务,Windows服务和数据库的集合构建的。 (大约40个人告诉)
We maintain three environments - QA, PREPROD and LIVE; but managing what is installed (and working) on each environment is a real pain. We seem to spend more time debugging what is installed & working in each environment that actually developing features.
我们维护三种环境--QA,PREPROD和LIVE;但管理每个环境中安装(和工作)的内容真是一件痛苦的事。我们似乎花了更多的时间来调试在实际开发功能的每个环境中安装和工作的内容。
I'm looking for a "diff" tool at the environment level - something that will tell me what is different between environments, which services are running on each environment etc etc.
我正在寻找环境级别的“差异”工具 - 这将告诉我环境之间有什么不同,哪些服务在每个环境上运行等等。
Is there any existing tool out there like this?
有这样的现有工具吗?
Thanks!
4 个解决方案
#1
My development team is currently using a tool called ConfigMerge
(available on CodePlex) to help us source-control our web.config files. You may not care much about SCM, but a tool like that could help you manage deployments of config files because you could keep a single file that is common to all your servers, and break out the particular XML elements that need to be modified for each server. Let the ConfigMerge tool create the final result and deploy that.
我的开发团队目前正在使用名为ConfigMerge的工具(可在CodePlex上使用)来帮助我们对web.config文件进行源代码控制。您可能不太关心SCM,但是这样的工具可以帮助您管理配置文件的部署,因为您可以保留所有服务器通用的单个文件,并打破需要为每个服务器修改的特定XML元素。服务器。让ConfigMerge工具创建最终结果并进行部署。
That doesn't help you do a "configuration diff", but it might help reduce the need to.
这并没有帮助你做一个“配置差异”,但它可能有助于减少需要。
#2
We utilize a build server which is responsible for auto deploying sites, services, etc on successful builds to our dev environment.
我们使用构建服务器,负责在我们的开发环境中成功构建站点,服务等。
Because we are using TFSBuild, we use TFSDeployer which monitors the Build Quality setting. When it is flipped to "staging", some powershell scripts execute to move the build into our staging environment.
因为我们使用的是TFSBuild,所以我们使用TFSDeployer监视Build Quality设置。当它被翻转为“staging”时,一些powershell脚本会执行以将构建移动到我们的暂存环境中。
For production, we also use TFSDeployer with one minor change. Instead of going directly to the production folders, it moves it into backup folders on the production servers. Then the infrastructure team manually copies it from their to the final resting place. This ensures that no one accidentally deploys to production.
对于生产,我们也使用TFSDeployer进行一次小改动。它不是直接转到生产文件夹,而是将其移动到生产服务器上的备份文件夹中。然后,基础架构团队手动将其从最终安放位置复制到最终安放位置。这确保了没有人意外地部署到生产中。
All told it took a couple weeks to set up and work out any kinks. Since then everyone is happier and we always know exactly what is in each environment.
总而言之,花了几个星期的时间来设置和解决任何问题。从那时起,每个人都更加快乐,我们总能确切知道每个环境中的内容。
#3
add to what all said, you might also want to use FinalBuilder, it is amazing tool for build automation it has saved me a lot of time doing things similar to what you do, it can automate the whole process, Compiling Visual studio project, file compare, FTPing.
添加到所有人说的,你可能也想使用FinalBuilder,它是构建自动化的神奇工具,它节省了我很多时间做类似于你做的事情,它可以自动化整个过程,编译Visual Studio项目,文件比较,FTPing。
hope this helps.
希望这可以帮助。
#4
The closest thing I can think of is the Visual Studio Team System Deployment Designer. You can design a model of the system and it's logical deployment architecture, and you can validate that against the physical deployment. For instance, you can validate that virtual directories are set up correctly, check against versions and patches of components and servers, etc....
我能想到的最接近的是Visual Studio Team System Deployment Designer。您可以设计系统模型及其逻辑部署体系结构,并且可以针对物理部署进行验证。例如,您可以验证虚拟目录是否已正确设置,检查组件和服务器的版本和补丁等。
You can also create reports "showing each diagram and a list of all the resources and settings for each application, logical server, endpoint, or zone on the deployment diagram. You can also include a list of deployment diagram validation errors and warnings in the report. Application development and infrastructure teams can use this report to share information needed to evaluate conflicts between application requirements and datacenter policy."
您还可以创建报告“显示每个图表以及部署图上每个应用程序,逻辑服务器,端点或区域的所有资源和设置的列表。您还可以在报告中包含部署图验证错误和警告的列表应用程序开发和基础架构团队可以使用此报告来共享评估应用程序需求和数据中心策略之间冲突所需的信息。“
#1
My development team is currently using a tool called ConfigMerge
(available on CodePlex) to help us source-control our web.config files. You may not care much about SCM, but a tool like that could help you manage deployments of config files because you could keep a single file that is common to all your servers, and break out the particular XML elements that need to be modified for each server. Let the ConfigMerge tool create the final result and deploy that.
我的开发团队目前正在使用名为ConfigMerge的工具(可在CodePlex上使用)来帮助我们对web.config文件进行源代码控制。您可能不太关心SCM,但是这样的工具可以帮助您管理配置文件的部署,因为您可以保留所有服务器通用的单个文件,并打破需要为每个服务器修改的特定XML元素。服务器。让ConfigMerge工具创建最终结果并进行部署。
That doesn't help you do a "configuration diff", but it might help reduce the need to.
这并没有帮助你做一个“配置差异”,但它可能有助于减少需要。
#2
We utilize a build server which is responsible for auto deploying sites, services, etc on successful builds to our dev environment.
我们使用构建服务器,负责在我们的开发环境中成功构建站点,服务等。
Because we are using TFSBuild, we use TFSDeployer which monitors the Build Quality setting. When it is flipped to "staging", some powershell scripts execute to move the build into our staging environment.
因为我们使用的是TFSBuild,所以我们使用TFSDeployer监视Build Quality设置。当它被翻转为“staging”时,一些powershell脚本会执行以将构建移动到我们的暂存环境中。
For production, we also use TFSDeployer with one minor change. Instead of going directly to the production folders, it moves it into backup folders on the production servers. Then the infrastructure team manually copies it from their to the final resting place. This ensures that no one accidentally deploys to production.
对于生产,我们也使用TFSDeployer进行一次小改动。它不是直接转到生产文件夹,而是将其移动到生产服务器上的备份文件夹中。然后,基础架构团队手动将其从最终安放位置复制到最终安放位置。这确保了没有人意外地部署到生产中。
All told it took a couple weeks to set up and work out any kinks. Since then everyone is happier and we always know exactly what is in each environment.
总而言之,花了几个星期的时间来设置和解决任何问题。从那时起,每个人都更加快乐,我们总能确切知道每个环境中的内容。
#3
add to what all said, you might also want to use FinalBuilder, it is amazing tool for build automation it has saved me a lot of time doing things similar to what you do, it can automate the whole process, Compiling Visual studio project, file compare, FTPing.
添加到所有人说的,你可能也想使用FinalBuilder,它是构建自动化的神奇工具,它节省了我很多时间做类似于你做的事情,它可以自动化整个过程,编译Visual Studio项目,文件比较,FTPing。
hope this helps.
希望这可以帮助。
#4
The closest thing I can think of is the Visual Studio Team System Deployment Designer. You can design a model of the system and it's logical deployment architecture, and you can validate that against the physical deployment. For instance, you can validate that virtual directories are set up correctly, check against versions and patches of components and servers, etc....
我能想到的最接近的是Visual Studio Team System Deployment Designer。您可以设计系统模型及其逻辑部署体系结构,并且可以针对物理部署进行验证。例如,您可以验证虚拟目录是否已正确设置,检查组件和服务器的版本和补丁等。
You can also create reports "showing each diagram and a list of all the resources and settings for each application, logical server, endpoint, or zone on the deployment diagram. You can also include a list of deployment diagram validation errors and warnings in the report. Application development and infrastructure teams can use this report to share information needed to evaluate conflicts between application requirements and datacenter policy."
您还可以创建报告“显示每个图表以及部署图上每个应用程序,逻辑服务器,端点或区域的所有资源和设置的列表。您还可以在报告中包含部署图验证错误和警告的列表应用程序开发和基础架构团队可以使用此报告来共享评估应用程序需求和数据中心策略之间冲突所需的信息。“