TeamCity - 找不到构建配置的修订版本

3

我有两个构建配置:A和B。A从Git存储库获取源代码,构建源代码并运行单元测试和集成测试,B应该将应用程序部署到测试环境。B具有“完成构建触发器”和对A的“快照依赖项”。A成功运行,我期望B在A之后开始,但是我收到以下错误:

构建配置中找不到修订版本:A {id=bt7},B {id=bt9} 隐藏堆栈跟踪 jetbrains.buildServer.buildTriggers.BuildTriggerException: 构建配置中找不到修订版本:A {id=bt7},B {id=bt9} 在 jetbrains.buildServer.serverSide.impl.BuildTriggersChecker.callTrigger(BuildTriggersChecker.java:37)  at jetbrains.buildServer.serverSide.impl.BuildTriggersChecker.access$800(BuildTriggersChecker.java:109)  at jetbrains.buildServer.serverSide.impl.BuildTriggersChecker$BuildTriggersGroup.processTriggers(BuildTriggersChecker.java:27)  at jetbrains.buildServer.serverSide.impl.BuildTriggersChecker.triggerBuilds(BuildTriggersChecker.java:94)  at jetbrains.buildServer.serverSide.impl.BuildServerRunner$4.doSomething(BuildServerRunner.java:1)  at jetbrains.buildServer.serverSide.impl.BuildServerRunner$BuildServerWorker.runAction(BuildServerRunner.java:12)  at jetbrains.buildServer.serverSide.impl.BuildServerRunner$BuildServerWorker.run(BuildServerRunner.java:32)  at java.lang.Thread.run(Unknown Source) 原因是: jetbrains.buildServer.vcs.impl.RevisionsNotFoundException: 构建配置中找不到修订版本:A {id=bt7},B {id=bt9} 在 jetbrains.buildServer.vcs.impl.HistoryChangesCollector$HistoryChangesResult.checkRevisionsAreSet(HistoryChangesCollector.java:30)  at jetbrains.buildServer.vcs.impl.HistoryChangesCollector$HistoryChangesResult.computeRevisions(HistoryChangesCollector.java:27)  at jetbrains.buildServer.vcs.impl.HistoryChangesCollector$HistoryChangesResult.access$100(HistoryChangesCollector.java:74)  at jetbrains.buildServer.vcs.impl.HistoryChangesCollector$1.get(HistoryChangesCollector.java:11)  at jetbrains.buildServer.vcs.impl.HistoryChangesCollector$1.get(HistoryChangesCollector.java:3)  at jetbrains.buildServer.serverSide.impl.CancelableTaskHolder.waitForTaskToComplete(CancelableTaskHolder.java:9)  at jetbrains.buildServer.serverSide.impl.dependency.TopBuildDependencyGraphImpl.doCollectChanges(TopBuildDependencyGraphImpl.java:138)  at jetbrains.buildServer.serverSide.impl.dependency.TopBuildDependencyGraphImpl.access$000(TopBuildDependencyGraphImpl.java:88)  at jetbrains.buildServer.serverSide.impl.dependency.TopBuildDependencyGraphImpl$3.run(TopBuildDependencyGraphImpl.java)  at jetbrains.buildServer.serverSide.impl.dependency.TopBuildDependencyGraphImpl$3.run(TopBuildDependencyGraphImpl.java:1)  at jetbrains.buildServer.serverSide.impl.dependency.TopBuildDependencyGraphImpl$4.run(TopBuildDependencyGraphImpl.java)  at jetbrains.buildServer.serverSide.impl.auth.SecurityContextImpl.runAs(SecurityContextImpl.java:24)  at jetbrains.buildServer.serverSide.impl.auth.SecurityContextImpl.runAsSystem(SecurityContextImpl.java:19)  at jetbrains.buildServer.serverSide.impl.dependency.TopBuildDependencyGraphImpl.runAsSystem(TopBuildDependencyGraphImpl.java:122)  at jetbrains.buildServer.serverSide.impl.dependency.TopBuildDependencyGraphImpl.collectChangesForGraph(TopBuildDependencyGraphImpl.java:8)  at jetbrains.buildServer.serverSide.impl.BuildCustomizerImpl.createPromotion(BuildCustomizerImpl.java:53)  at jetbrains.buildServer.serverSide.impl.BuildCustomizerImpl.createPromotion(BuildCustomizerImpl.java:25)  at jetbrains.buildServer.buildTriggers.dependency.FinishBuildTriggerService$3.triggerBuild(FinishBuildTriggerService.java:48)  at jetbrains.buildServer.serverSide.impl.BuildTriggersChecker.callTrigger(BuildTriggersChecker.java:50)

如果您已经在构建A中构建了该工件,那么在构建B中将其用作构建工件/依赖项不是更好吗? - James Woolfenden
你知道答案吗?我有同样的问题。在父作业完成后,我需要同时启动2个作业,并且其中一个作业没有VCS。然后就会出现异常。 - Michał Króliczek
1个回答

0

这个B如何配置?这个B应该有这个构件吗?是从A传递还是B自己构建并部署?

看起来它没有任何版本控制系统(VCS)绑定, 对吗?你只能在两个具有相同VCS附加的构建配置之间拥有快照依赖关系。TC将确保两个构建都针对相同的修订版本运行。但是如果其中一个构建根本没有绑定VCS,那么我可能会失败。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接