如何手动运行Test构建,绕过其Snapshot Dependencies依赖?
解决方法:跳过快照依赖直接运行Test构建
我之前在用CI工具(比如TeamCity)时也遇到过完全一样的困扰!想要直接触发Test构建却每次都连带跑Build,其实调整几个小设置就能搞定,分两种场景来操作:
一、手动单次运行时临时跳过依赖
当你点击Test构建旁的运行按钮时,别直接点默认的「Run」,而是点下拉菜单里的Custom run(自定义运行),在弹出的配置框里:
- 切换到「Dependencies(依赖)」标签页
- 找到Deploy对应的快照依赖项,勾选Do not run new build for this dependency(不为该依赖触发新构建)
- 因为Deploy本身依赖Build,为了彻底跳过,你也需要对Build的依赖项做同样的勾选(如果Deploy有最近成功的构建,工具会自动复用它的产物,不过直接都勾上更保险)
- 最后点击「Run」,Test就会直接使用之前成功的Build和Deploy产物,不会重新触发它们了
二、配置默认行为,永久跳过手动触发时的依赖
如果你每次手动跑Test都不想触发依赖,可以修改Test构建的配置:
- 进入Test构建的配置页面,找到「Dependencies(依赖)」设置模块
- 选中Deploy的快照依赖,点击右侧的编辑图标(铅笔样式)
- 在弹出的依赖配置窗口里,找到「Triggering rules(触发规则)」部分
- 添加一条规则:
-:default(这条规则的意思是:默认情况下不触发该依赖的构建) - 保存配置后,以后你手动点击Test的Run按钮时,就会自动跳过依赖构建了
小提示
- 一定要确保有最近成功完成的Build和Deploy构建,不然Test可能因为找不到依赖的快照产物而失败
- 这个设置只会影响手动触发的场景,如果是通过版本控制提交、定时任务等自动触发的Test构建,还是会正常触发依赖链,完全不影响自动化流程的逻辑
内容的提问来源于stack exchange,提问作者foresightyj
相关产品推荐
相关产品推荐

