Deployment 如何在实验室管理和发布管理之间共享部署代码

Deployment 如何在实验室管理和发布管理之间共享部署代码,deployment,automated-tests,integration-testing,tfsbuild,ms-release-management,Deployment,Automated Tests,Integration Testing,Tfsbuild,Ms Release Management,在刚刚开始使用Microsoft Release Management之后,我越来越确信它不适合运行集成测试。这可能是一种错误的感觉,我很想得到更多的信息。当我们第一次考虑它时,我打算通过它的管道运行测试计划中定义的测试,但现在我看到我们应该尽可能频繁地运行这些测试。我们希望每晚都运行集成测试,但我们的候选版本只在sprint结束时定义,因此使用发布管理来进行测试似乎有冲突 有了这个等式之外的工具,我们正在考虑再次探索实验室模板。几个月前,我们在一个遗留项目中对其进行了一些非常小的测试,但从未做

在刚刚开始使用Microsoft Release Management之后,我越来越确信它不适合运行集成测试。这可能是一种错误的感觉,我很想得到更多的信息。当我们第一次考虑它时,我打算通过它的管道运行测试计划中定义的测试,但现在我看到我们应该尽可能频繁地运行这些测试。我们希望每晚都运行集成测试,但我们的候选版本只在sprint结束时定义,因此使用发布管理来进行测试似乎有冲突

有了这个等式之外的工具,我们正在考虑再次探索实验室模板。几个月前,我们在一个遗留项目中对其进行了一些非常小的测试,但从未做过太多。我现在主要关心的是这两个阶段都需要部署:

  • 发布管理管道需要将我们的项目部署到QA和生产环境中
  • 实验室模板还需要在几个虚拟机上部署项目,以便在这些虚拟机上运行集成测试
发布管理使用了一些非常好的抽象来实现这一点。您可以根据放置文件夹结构对机器范围进行编码并定义组件,以定义要部署的整个应用程序的每个部分。另一方面,实验室管理工作流不支持这一点(或者我只是错过了它)。为实验室测试进行部署的标准方法是编写一个自定义的powershell脚本,该脚本将文件从build drop文件夹移动到正确的位置,为web项目创建应用程序池等等,所有这些都是手工完成的

理想情况下,我只想在这两个工具之间共享整个部署工作流程,因为发布管理方式似乎更简单,所以我会使用它。这将使同时维护两条管道变得更容易,我认为这实际上很常见


在这两个工具之间尽可能多地共享部署代码的正确方法是什么?

我希望RM和MTM/LM之间更好的集成将是未来的功能。在此期间,您可以研究使用所需的状态配置来处理为您配置环境的单个脚本

在RM Update 2中,DSC支持并不是现成的,但RM Update 3将内置对Azure和prem虚拟机上DSC的支持。更新3 CTP 1目前已发布,但尚未准备好生产


您仍然可以在更新2中使用RM中的DSC,这需要更多的工作。

我从未听说过这样的概念,非常有趣。您是RM开发团队的成员吗?你能分享一些关于如何使用当前版本的工具的链接吗?@julealgon我不是RM开发团队的成员,我只是用它做了很多工作。这是一个开始使用RM/DSC的好地方:非常好,我肯定会在未来几周进一步研究这一点。我想知道是否有任何关于在实验室管理中使用DSC的具体文章,有什么建议吗?此外,遇到广泛使用RM的人也不常见。你能考虑一下我的联系问题吗?我觉得你有很多东西可以分享。