在对该代理进行构建时,TFS使用构建代理程序计算机帐户

时间:2014-10-26 03:45:10

标签: tfs tfs2010

我有一个简单的TFS Gated Check-In工作流程,它实际上没有构建任何东西 - 它是关于初始化工作区和检查shelveset。

为了避免粘贴整个XAML代码,我使用this online Graphviz sandbox创建了工作流程的近似值。 DOT代码为here,工作流程为:

enter image description here

我已经跳过了一些辅助序列,当然也会为CheckInShelveset原因调用门控值机。

在构建定义中:

  1. 代理设置使TFS始终选择相同的构建代理,例如 torsvbuild10 enter image description here
  2. 来源设置:enter image description here
  3. 现在工作流似乎工作正常 - 当我签入文件时它会触发构建,接受签入并在我的机器上获得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。

2 个答案:

答案 0 :(得分:1)

要将构建代理的帐户更改为DAYFORCE \ TFSBuild,您需要使用TFS管理控制台并调整设置。以下是您需要的MSDN文章:http://msdn.microsoft.com/en-us/library/ms181712.aspx(我链接到2013版本,因为它有漂亮的图片,而且与2010年大致相同)

答案 1 :(得分:0)

构建服务将使用我正在运行的任何帐户。如果要使用该专用构建帐户,则需要更改构建服务以在其下运行。听起来您正在网络服务下运行代理服务。