【发布时间】:2011-11-10 20:35:53
【问题描述】:
我正在尝试为我公司的 .NET 应用程序制定一个自动化部署策略。我们使用 TFS/VS 2010,以及用于应用程序托管的 IIS 和用于持续集成和部署的 msbuild。该应用程序主要由两个组件组成: * 一个网络应用程序 * 一个数据库
目前,我们的分支策略是单流。也就是说,我们有一个大的 ol 树干,现在我们可以假设它会保持这种状态。
我们已经弄清楚如何让 msbuild 将 webapp 部署到 IIS,这很酷。现在我正在尝试找出处理数据库组件部署的最佳策略。目前,数据库部署完全是手动的:我们的数据库架构师定期在他的机器上构建数据库,检查自动生成的迁移脚本,然后手动编写部署前/后部署脚本。然后,他运行整个部署并向所有人发送电子邮件。
这不是一个理想的解决方案:自动化的夜间 webapp 部署效果很好,除非 dba 无法协调他的手动 db 部署工作。这给各方带来了很多麻烦。因此,我试图弄清楚自动部署数据库的可行性。
我了解如何让 msbuild 部署数据库。然而,更大的问题似乎是正确管理部署前/后脚本。
考虑到所有这些,谁能指出在这种情况下的最佳做法?我过去做过很多配置管理,但对使用数据库组件管理项目还是很陌生。
【问题讨论】:
-
我不知道,VS 2012 中的新数据库项目是否适合您。我只用 SQLS 测试过它。关键是,它包含 Schema Compare,它导致文件可以成为解决方案的一部分。
标签: tfs