【问题标题】:TFS uses build agent machine account when doing a build on that agentTFS 在该代理上进行构建时使用构建代理计算机帐户
【发布时间】:2018-06-12 05:45:59
【问题描述】:

我有一个简单的 TFS Gated Check-In 工作流,它实际上并没有构建任何东西 - 只是初始化工作区和签入搁置集。

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

我跳过了一些辅助序列,当然,出于 CheckInShelveset 的原因调用了门控签到。

在构建定义中:

  1. 代理设置使 TFS 始终选择相同的构建代理,例如 torsvbuild10
  2. 来源设置:

现在工作流程似乎工作正常 - 当我签入文件时,它会触发构建,签入被接受,并且我的机器上出现了搁置调整对话框。

我希望能够检查和操作构建代理上的相应工作目录。在这里我遇到了麻烦。请注意:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-09
        • 1970-01-01
        • 2017-03-21
        • 2018-03-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多