在成功构建之后签入变更集时,TFS门控签入失败

时间:2016-09-28 10:19:08

标签: tfs tfs2015 build-server gated-checkin

我正在使用TFS 2015版SP3,而且我在创建工作的Gated Checkin Build定义时遇到了问题。

构建过程步骤为空以防止构建失败。

当构建成功时,构建服务器会尝试检入指定的更改并失败。错误消息是:

  

shelveset _Build_56625; Build \ ead50f13-855a-45bd-9417-778e04e6fdfe   无法办理登机手续

从我可以收集到的内容,它与构建服务器使用构建用户的GUID而不是用户名这一事实有关。 (见下图)。

Error 构建日志

2016-09-27T14:22:59.3450903Z Checking if artifacts directory exists: C:\Agent_3\_work\1\a
2016-09-27T14:22:59.3450903Z Deleting artifacts directory.
2016-09-27T14:22:59.3607099Z Creating artifacts directory.
2016-09-27T14:22:59.3607099Z Checking if test results directory exists: C:\Agent_3\_work\1\TestResults
2016-09-27T14:22:59.3607099Z Deleting test results directory.
2016-09-27T14:22:59.3763337Z Creating test results directory.
2016-09-27T14:22:59.4232406Z Starting: Get sources
2016-09-27T14:22:59.4544938Z Entering TfvcSourceProvider.PrepareRepositoryAsync
2016-09-27T14:22:59.4544938Z localPath=C:\Agent_3\_work\1\s
2016-09-27T14:22:59.4544938Z clean=True
2016-09-27T14:22:59.4544938Z sourceVersion=68725
2016-09-27T14:22:59.4544938Z mappingJson={"mappings":[{"serverPath":"$/xxx","mappingType":"map","localPath":"\\"}]}
2016-09-27T14:22:59.4544938Z Syncing repository: xxx(TFVC)
2016-09-27T14:22:59.4544938Z workspaceName=ws_1_18
2016-09-27T14:23:00.3451244Z Undo any pending changes under workspace.
2016-09-27T14:23:01.2669675Z No inconsistencies were found to clean up.
2016-09-27T14:23:01.7044792Z Workspace Name: ws_1_18;Build\ead50f13-855a-45bd-9417-778e04e6fdfe
2016-09-27T14:23:01.7669760Z tf unshelve Gated_2016-09-27_04.22.53.2745;MyDomain\MyUser
2016-09-27T14:23:02.2413159Z edit: C:\Agent_3\_work\1\s\app\xxx\xxx.ts
2016-09-27T14:23:02.5225711Z Successfully unshelved Gated_2016-09-27_04.22.53.2745;MyDomain\MyUser into workspace ws_1_18;Build\ead50f13-855a-45bd-9417-778e04e6fdfe
2016-09-27T14:23:02.5225711Z tf get /version:68725
2016-09-27T14:23:03.0187586Z tf shelve _Build_56625 /replace
2016-09-27T14:23:03.1906333Z Successfully created new shelveset _Build_56625;Build\ead50f13-855a-45bd-9417-778e04e6fdfe
2016-09-27T14:23:03.2999952Z Done syncing repository xxx to version 68725 (workspace version C68725)
2016-09-27T14:23:03.2999952Z Leaving TfvcSourceProvider.PrepareRepositoryAsync
2016-09-27T14:23:03.4093700Z Running tasks

是的......我读过:

On Premise Gated Check-in Fails with "The shelveset ... could not be found for check-in" - 但我不愿意放弃5年的历史只是为了让它发挥作用。

https://social.msdn.microsoft.com/Forums/en-US/8016349e-88dd-4fe1-aa6b-13c8d897985f/tfs-2015-on-premise-gated-checkin-fails-with-the-shelveset-could-not-be-found-for-checkin?forum=tfsbuild - 这个问题给了我一些见解,但没有可行的解决方案。

我们已尝试

  • 创建新代理
  • 扔掉当地的工作空间

1 个答案:

答案 0 :(得分:1)

我们问题的原因是Tfs_Configuration数据库中的双重构建标识。

使用以下查询,您可以检查双重身份:

SELECT * FROM tbl_Identity WHERE PartitionId = 1 AND TypeId = 8