【发布时间】:2018-06-12 05:45:59
【问题描述】:
我有一个简单的 TFS Gated Check-In 工作流,它实际上并没有构建任何东西 - 只是初始化工作区和签入搁置集。
为避免粘贴整个 XAML 代码,我使用this online Graphviz sandbox 创建了一个近似的工作流。 DOT 代码为here,工作流程为:
我跳过了一些辅助序列,当然,出于 CheckInShelveset 的原因调用了门控签到。
在构建定义中:
- 代理设置使 TFS 始终选择相同的构建代理,例如 torsvbuild10:
- 来源设置:
现在工作流程似乎工作正常 - 当我签入文件时,它会触发构建,签入被接受,并且我的机器上出现了搁置调整对话框。
我希望能够检查和操作构建代理上的相应工作目录。在这里我遇到了麻烦。请注意:
PS C:\tfs\DFGatedCheckInTest2> $env:UserName
TFSBUILD
PS C:\tfs\DFGatedCheckInTest2> tf status /recursive /noprompt
There are no pending changes.
PS C:\tfs\DFGatedCheckInTest2> tf status /recursive /noprompt .
There is no working folder mapping for C:\tfs\DFGatedCheckInTest2.
PS C:\tfs\DFGatedCheckInTest2> tf status /recursive /noprompt /workspace:"1733_torsvbuild10;torsvbuild10$"
File name Change User Local path
--------- ------ ---------------------- -----------------------------------------------------------------------------------------------------------
$/DFDev/dkahl/SharpTopBranch/Build/2010/scripts
1.txt edit DAYFORCE\TORSVBUILD10$ C:\TFS\DFGatedCheckInTest2\Build\2010\scripts\1.txt
1 change(s)
PS C:\tfs\DFGatedCheckInTest2> tf status /recursive /noprompt /workspace:"1733_torsvbuild10;torsvbuild10$" .
There is no working folder mapping for C:\tfs\DFGatedCheckInTest2.
PS C:\tfs\DFGatedCheckInTest2> tf history /recursive /noprompt /stopafter:1 .
There is no working folder mapping for C:\tfs\DFGatedCheckInTest2.
PS C:\tfs\DFGatedCheckInTest2> tf history /recursive /noprompt /stopafter:1 "$/DFDev/dkahl/SharpTopBranch" /format:detailed
---------------------------------------------------------------------------------------------------------------------------------------------------
Changeset: 105815
User: DAYFORCE\mkharitonov
Checked in by: DAYFORCE\TORSVBUILD10$
Date: Saturday, October 25, 2014 10:15:45 PM
Comment:
***NO_CI***
Items:
edit $/DFDev/dkahl/SharpTopBranch/Build/2010/scripts/1.txt
PS C:\tfs\DFGatedCheckInTest2> tf undo /recursive /noprompt /workspace:"1733_torsvbuild10;torsvbuild10$" .
TF14098: Access Denied: User DAYFORCE\tfsbuild needs UndoOther permission(s) for $/DFDev/dkahl/SharpTopBranch/Build/2010/scripts/1.txt.
PS C:\tfs\DFGatedCheckInTest2>
工作区是使用构建代理计算机帐户 (torsvbuild10$) 创建的。随后,使用同一帐户签入搁置集。但是,当我登录构建代理时,我使用的是完全不同的帐户 (TFSBuild)。因此,我无法操作工作区及其源目录。这样做的唯一方法是通过工作流。
我的问题是 - 为什么要使用构建代理机器帐户?我希望它是我们拥有的专用 TFS 构建帐户 - DAYFORCE\TFSBuild,但我不知道如何设置它。
我们正在使用 TFS2010。
【问题讨论】:
标签: tfs