在TFS发布,有上同一代理下载文物之前执行PowerShell脚本的方法吗?

问题描述 投票:0回答:2

问题:我们正在运行使用版本管道Selenium测试。如果它运行这些测试环境的部署被取消,该驱动程序可能不会被杀死,而这将锁定的工作文件夹。因此,当部署再次发生上发布定义中相同的环境(如果是新版本或重新部署并不重要),脱模剂将抛出的工作文件夹被锁定的错误。

因此,我们确实有一个内嵌脚本,并清理PowerShell的任务(这是内嵌所以没有依赖关系),但不幸的是TFS发布管道试图运行提到的PowerShell脚本之前下载的文物到锁定的文件夹。

是否有释放管道下载的文物前执行内嵌的PowerShell的方法吗?

我们确实有使用多个阶段的部分解决方案,但这只会工作,只要一个部署队列不是很忙,我们得到的地步,这将是在未来,当队列忙TFS可能会选择不同的药物特定环境中进行部署的不同阶段,导致该方法不工作。所以从这个奖金问题:或者,可以锁定特定的环境中进行部署的代理,使代理不相之间改变?

我做了搜索这两个解决方案,它看起来像有没有现成的解决方案,还是我错过了一个?如果没有,那么有没有达到其中任一一些有创意的方法吗?

tfs release
2个回答
2
投票

你从错误的一端接近这一点。如果处理失败,需要进行清理。因此,在释放的末尾添加一项任务conditioncanceled()(或者ne(succeeded())执行你的清理操作。

另外,你没有指定你做你的硒测试用什么语言,但在C#中你可以用你创作的webdriver在using块,以确保其正确清理驱动程序。还有表面上类似的结构或模式在其他语言。基本上,“如果网络驱动器超出范围,清理,期间”。


0
投票

我曾与下载神器类似的问题,您可以禁用这个步骤通过单击环境名称,展开其他选项,然后选择“跳过下载神器”:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.