TFS 2010分支触发器(启动虚拟机与数据库)



目前我们的开发团队使用共享数据库进行开发:(

我们正在检查是否可以使用VMWare,以便每个开发分支都可以拥有自己的数据库。我们有SQL脚本来创建数据库,并用测试数据填充它们。

是否有可能在TFS中添加一个触发器,以便在分支时触发一些外部代码(可能是powershell)来创建VM和数据库?另一方面,当分支被删除时,会自动删除VM吗?如果没有,有没有其他建议告诉我怎样才能完成类似的事情?我们的分支相对较短(可能最多几个月),这就是为什么我们想要自动启动VM并加载数据库的过程。

不幸的是,我们有一些遗留数据库与其他数据库交织在一起,并且有循环引用,因此数据库项目是不可能的(它们是不可能构建的)。我们将通过其他方式对数据库进行源代码控制。

通常我会说您可以编写一个订阅器插件。但是我不认为Branch操作是一个你也可以订阅的事件。

另一种方法是编写一个小实用程序,当你的团队想要分支时使用。而不是在VS中创建一个分支,他们使用一个自定义实用程序,它既可以创建TFS分支,又可以告诉VMware提供你的环境。

我会从这个问题开始,写一个批处理/powershell脚本或小应用程序,可以创建或拆除你的虚拟机。最初,这可以作为分支创建/删除过程的一部分"手工"执行。

从这里你将有2个选项:

  • 使用tf.exe或TFS API,也可以让脚本/应用程序创建/销毁分支,在这种情况下,创建或销毁分支的过程可能只是"运行我们的内部工具,给它分支名称"(而不是从Visual Studio中执行),它可以处理一切)

  • 我相信你可以为你的TFS服务器写一个插件,当一个分支被创建或销毁时(这里和这里都提到了),它会使用你的脚本/应用程序来处理VM对分支事件的反应

最新更新