我有一个简单的TFS Gated Check-In工作流程,它实际上没有构建任何东西 - 它是关于初始化工作区和检查shelveset。
为了避免粘贴整个XAML代码,我使用this online Graphviz sandbox创建了工作流程的近似值。 DOT代码为here,工作流程为:
我已经跳过了一些辅助序列,当然也会为CheckInShelveset原因调用门控值机。
在构建定义中:
现在工作流似乎工作正常 - 当我签入文件时它会触发构建,接受签入并在我的机器上获得shelveset协调对话框。
我希望能够检查和操作Build Agent上的相应工作目录。在这里,我遇到了麻烦。请观察:
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>
使用Build Agent计算机帐户(torsvbuild10 $)创建工作区。随后,使用相同的帐户登记搁置集。但是,当我登录到构建代理程序时,我使用的是完全不同的帐户(TFSBuild)。因此,我无法操作工作空间及其源目录。唯一的方法是通过工作流程。
我的问题是 - 为什么使用构建代理计算机帐户?我希望它是我们拥有的专用TFS构建帐户--DAYFORCE \ TFSBuild,但我不知道如何设置它。
我们正在使用TFS2010。
答案 0 :(得分:1)
要将构建代理的帐户更改为DAYFORCE \ TFSBuild,您需要使用TFS管理控制台并调整设置。以下是您需要的MSDN文章:http://msdn.microsoft.com/en-us/library/ms181712.aspx(我链接到2013版本,因为它有漂亮的图片,而且与2010年大致相同)
答案 1 :(得分:0)
构建服务将使用我正在运行的任何帐户。如果要使用该专用构建帐户,则需要更改构建服务以在其下运行。听起来您正在网络服务下运行代理服务。