TFS vNext 构建代理安装

TFS vNext build agent installation

我决定开始使用 TFS 构建 vNext 管道,但在配置我的构建代理期间遇到了一个奇怪的问题。我想知道是否有其他人可以复制这个,如果可以,我最终如何解决这个问题。

我在以下目录 D:\TFS Build Agent\agent 中安装了代理并执行了配置。该过程进行得很顺利,代理已正确添加到给定的池中。此外,该服务在我的构建机器上是 运行 正确的。 然而,一旦我开始一个简单的构建,我就会收到以下错误:

09:10:23.570390 System.Management.Automation.ProviderInvocationException: Attempting to perform the NormalizeRelativePath operation on the 'FileSystem' provider failed for path 'D:\TFS Build Agent\agent\tasks\VSBuild.0.11'. Access is denied ---> System.UnauthorizedAccessException: Access is denied ---> System.ComponentModel.Win32Exception: Access is denied
   --- End of inner exception stack trace ---
   at Microsoft.PowerShell.Commands.FileSystemProvider.GetFileSystemInfo(String path, Boolean& isContainer)
   at Microsoft.PowerShell.Commands.FileSystemProvider.NormalizeThePath(String basepath, Stack`1 tokenizedPathStack)
   at Microsoft.PowerShell.Commands.FileSystemProvider.NormalizeRelativePathHelper(String path, String basePath)
   at Microsoft.PowerShell.Commands.FileSystemProvider.NormalizeRelativePath(String path, String basePath)
   at System.Management.Automation.SessionStateInternal.NormalizeRelativePath(ProviderInfo provider, String path, String basePath, CmdletProviderContext context)
   --- End of inner exception stack trace ---
   at System.Management.Automation.SessionStateInternal.NormalizeRelativePath(ProviderInfo provider, String path, String basePath, CmdletProviderContext context)
   at System.Management.Automation.SessionStateInternal.NormalizeRelativePath(String path, String basePath, CmdletProviderContext context)
   at System.Management.Automation.SessionStateInternal.SetLocation(String path, CmdletProviderContext context)
   at System.Management.Automation.PathIntrinsics.SetLocation(String path)
   at Microsoft.TeamFoundation.DistributedTask.Handlers.PowerShellHandler.Execute(ITaskContext context, CancellationToken cancellationToken)
   at Microsoft.TeamFoundation.DistributedTask.Worker.JobRunner.RunTask(ITaskContext context, TaskWrapper task, CancellationTokenSource tokenSource)
09:10:23.570390 BaseLogger.LogConsoleMessage(scope.JobId = 88ecf41a-efe1-48d4-b67a-462b166f2b4c, message = ##[error]Attempting to perform the NormalizeRelativePath operation on the 'FileSystem' provider failed for path 'D:\TFS Build Agent\agent\tasks\VSBuild.0.11'. Access is denied)

我试图确保为我的服务所在的帐户提供所有全套权限 运行 上述文件夹,但它没有改变任何内容。

现在我把agent的文件移到C盘的C:\agent文件夹下,重新做同样的设置,突然一切正常。

即使这解决了我的问题,我也想了解更多关于这个问题的信息。这是一个错误还是我缺少某些特定权限?

任何人都可以复制这个问题吗?

谢谢

禁用 UAC - 使用 PowerShell,而不是控制面板。

类似于:

New-ItemProperty -Path HKLM:Software\Microsoft\Windows\CurrentVersion\policies\system -Name EnableLUA -PropertyType DWord -Value 0 -Force

我刚刚遇到了类似的问题。尝试将服务设置为本地管理员,但没有成功。禁用 UAC 似乎是原因。

或者我猜是直接在注册表中。需要重启才能生效。

我再次尝试复制这个但没有成功。看来当时我工作的机器出了点问题。