考虑将 WebDeploy 用于内部集群站点。经验?
我们公司最近开始使用集群服务器。我读过一些关于 MS WebDeploy 的文章,该技术看起来很有前途。我们的要求:
- 部署前创建备份
- 部署到不同的服务器
- 测试服务器
- 两个实时集群
- 能够在发布之前停止特定 Web 应用程序的应用程序池并在发布后重新启动它们
- 允许有限访问:换句话说,开发人员只能发布到他们负责的网站
- 可能的定制:我们希望如果相关错误尚未在我们的错误跟踪器中得到解决,则禁止发布,也可能更多,例如管理层的批准。是否可以在不丢失 VS 集成的情况下完成外部自定义
- Visual Studio 集成和 Web.config 的使用可以转换
- SQL 架构更改,尤其是存储过程,而不影响数据
我们的环境
- IIS 7
- Windows Server 2008
- SQL Server 2005(计划迁移到 2008)
- Visual Studio 2010
根据我的研究,似乎上述许多要求都已得到满足。我想知道的是该解决方案的可靠性如何以及是否能够满足上述要求。更重要的是,我想知道您对 webdeploy 的个人体验是什么,以及您是否会推荐它或者是否有更好的选择。
目前我们正在使用文件复制,这被证明是不可靠的(由于人为错误)并且乏味。
We have recently started to use cluster servers in our company. I have done some reading on MS WebDeploy and the technology looks promising. Our requirements:
- Create backups before deployment
- Deploy to different servers
- Test server
- Two live clusters
- Ability to stop application pools for specific web applications before publish and start them again afterward
- Allowing limited access: In other words a developer may only publish to sites that they are responsible for
- Possible customisation: We would like to disallow publishes if related bugs have not been solved in our bug tracker, and possibly more, like approvals from management. Can external customisations be done without losing VS integration
- Visual Studio integration and the use of Web.config transforms
- SQL Schema changes and especially stored procedures without affecting data
Our environment
- IIS 7
- Windows Server 2008
- SQL Server 2005 (Planned move to 2008)
- Visual Studio 2010
Based on my research it does seem that many of the above requirements have been met. What I would like to know is how reliable the solution is and whether the above requirements will be met. More importantly I would like to know what your personal experiences with webdeploy are and whether you would recommend it or whether there are better alternatives.
At the moment we are using file copying which proves to be unreliable (due to human error) and tedious.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我们使用 WebDeploy 打包和 Thoughtworks GO 完成您要求的大约 80%!用于编排我们的发布管道。效果非常好。我们拥有 100 多个网站/服务,每四个小时就会将一些内容部署到生产环境中。以下文章介绍了我们如何执行部署以及相关信息的链接:
http://www.dotnetcatch.com/2016/12/28/zero-downtime-clustered-deployment-of-webdeploy-packages-via-powershell/
需要注意的是,配置转换发生在构建时,当您想要部署到多个环境时,这会出现问题。 WebDeploy 参数化实现相同的结果,但在部署时应用。看看 -
http://www.dotnetcatch.com /2014/09/08/参数化预览-视觉工作室-扩展/
We do about 80% of what your asking for using WebDeploy packaging and Thoughtworks GO! for orchestration of our release pipeline. It works really well. We have over a 100 websites/services and deploy something to production every four hours. The following post describes how we perform the deployment and links to related information:
http://www.dotnetcatch.com/2016/12/28/zero-downtime-clustered-deployment-of-webdeploy-packages-via-powershell/
One note, config transforms happen at build time which is problematic when you want to deploy to multiple environments. WebDeploy parameterization accomplishes the same result but is applied at deploy time. Check it out -
http://www.dotnetcatch.com/2014/09/08/parameterizationpreview-visual-studio-extension/