Release management 发布管理和Dsc-如何在发布过程中对生成进行排队?

Release management 发布管理和Dsc-如何在发布过程中对生成进行排队?,release-management,ms-release-management,Release Management,Ms Release Management,我的VSO和Release Management 2013.4正在工作,并通过DSC部署到Azure vm 构建概要文件设置为在提交到Git repo时触发,发布模板设置为在从TFS成功构建时触发 但是,如果开发人员连续快速提交,则生成的版本会导致RM?中的版本重叠这会导致某些发布失败,并出现DSC错误(“一致性检查或pull cmdlet正在进行…”) 有没有办法强制RM阻止并发发布?(基于相同的发布模板和构建配置文件)您是否打算/希望在每次提交时发布一个版本?是的-至少在集成测试阶段-从那时

我的VSO和Release Management 2013.4正在工作,并通过DSC部署到Azure vm

构建概要文件设置为在提交到Git repo时触发,发布模板设置为在从TFS成功构建时触发

但是,如果开发人员连续快速提交,则生成的版本会导致RM?中的版本重叠这会导致某些发布失败,并出现DSC错误(“一致性检查或pull cmdlet正在进行…”)


有没有办法强制RM阻止并发发布?(基于相同的发布模板和构建配置文件)

您是否打算/希望在每次提交时发布一个版本?是的-至少在集成测试阶段-从那时起,我可以使用RM manual approval将其传播到管道中的后续阶段我想我会检查一下,因为我使用的一个应用程序需要一个小时来构建,运行所有自动化web测试需要四个小时。每次提交时发布是不可能的,相反,我们有一个签入构建定义,它执行CI并运行单元测试,还有一个单独的构建定义,它按照计划每天晚上运行,并且在CI和运行单元测试部署应用程序后运行,以便自动化测试可以在夜间运行。你能澄清一下“测试阶段”是什么意思吗?你是说单元测试(应该只在构建代理服务器上运行)或者其他需要部署应用程序的测试?我们的测试阶段可能称为集成测试阶段-我们有一个单元测试套件,它作为构建代理上TFS构建的一部分运行,但之前我们使用Jenkins创建了一个部署管道,然后将软件部署到测试服务器上(在过程中跟踪部署包)并运行运行更长时间的测试,例如通过selenium实现浏览器自动化——这是我试图在RM中复制的管道——我希望将初始tfs构建时间保持在10分钟以内,以便开发人员获得代码编译和测试通过的反馈——即安全地进行更改可能值得一看我的博客系列文章。