好的,事情就是这样。
我正在 ASP.NET 4.0 和 SQLServer 2005 下开发一个现有的(它开始是一个 ASP 经典应用程序,所以你可以想象:P)Web 应用程序。我们是 4 个使用 SQL Server 2005 Express 本地实例的开发人员,拥有源代码-代码和 Visual Studio 数据库项目
这个 webapp 有几个“宇宙”(这就是我们所说的)。每个 Universe 都有自己的数据库(目前在同一台服务器上),但它们都共享相同的模式(表、存储过程等)和相同的源/站点代码。
所以手动部署真的很烦人,因为我必须部署源代码,然后在每个数据库上手动运行 sql 脚本。我知道手动部署会导致问题,所以我正在寻找一种自动化的方法。
我们最近创建了一个 Visual Studio 数据库项目来管理架构并生成具有不同目标的差异架构脚本。
我不知道如何把这些碎片放在一起
我想:
- 有一种方法可以将“同步”部署到目标服务器(谢天谢地,我拥有对服务器的完全 RDC 访问权限,因此我可以在需要时进行安装)。对于“同步”部署,我的意思是我不想完全部署整个应用程序,因为它有很多文件,我只想部署那些新的或更改的文件。
- 为每个数据库目标生成 diff-sql 更新脚本,并将其组合成一个脚本。为此,我应该在某处列出一些数据库名称。
- 复制站点文件并以简单且自动化的方式执行生成的 sql 脚本。
我已经阅读了有关 MSBuild、MS WebDeploy、NAnt 等的信息。但我真的不知道从哪里开始,我真的很想摆脱这种手动部署。
如果有比我列举的更好、更简单的方法,我会很高兴阅读您的选择。
我知道这不是一个非常具体的问题,但我已经用谷歌搜索了很多,似乎我不知道该怎么做。我从未使用任何自动化工具进行部署。
任何帮助将不胜感激,
谢谢你们,
问候