我无法解决拒绝访问的问题。我经历了很多试图找到解决方案的帖子,似乎无法弄清楚发生了什么。我是设置构建服务器的新手,但我尽可能多地挖掘了尽可能多的网站和说明,以了解如何做到这一点。我们正在使用TFS 2013 Express。我安装了构建服务器组件,设置了构建控制器和构建代理。最初我使用默认的网络服务帐户,但当我遇到一些问题时,我决定为构建服务设置域用户帐户。我删除了控制器,然后使用域用户帐户重新创建了一个新的控制器和代理。
当我尝试构建项目时 - 我的第一个构建定义 - 我收到以下错误:
异常消息:TF270016:发布日志文件时出错 从'C:\ Builds \ 5 \ XYZ \ Client \ src \ DEV \ XYZ.log'到 '\ MYSERVER \构建\客户端\ Client_20141212.4 \日志'。细节:访问 到路径'\ myserver \ Builds \ Client \ Client_20141212.4 \ logs'是 否认。 (类型PublishLogFileException)异常堆栈跟踪:at System.Activities.Statements.Throw.Execute(CodeActivityContext 上下文) System.Activities.CodeActivity.InternalExecute(ActivityInstance 实例,ActivityExecutor执行程序,BookmarkManager bookmarkManager) 在 System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor,BookmarkManager bookmarkManager,Location resultLocation)
内部异常详情:
异常消息:访问路径 '\ myserver \ Builds \ Client \ Client_20141212.4 \ logs'被拒绝。 (类型 UnauthorizedAccessException)异常堆栈跟踪:at System.IO .__ Error.WinIOError(Int32 errorCode,String maybeFullPath)
在System.IO.Directory.InternalCreateDirectory(String fullPath,String path,Object dirSecurityObj,Boolean checkHost)at System.IO.Directory.InternalCreateDirectoryHelper(String path,Boolean checkHost)at Microsoft.TeamFoundation.Common.FileSpec.CopyFile(String oldPath, String newPath,Boolean overwriteExisting)at Microsoft.TeamFoundation.Build.Workflow.Activities.WindowsDropProvider.CopyDirectory(字符串 sourceDirectory,String targetDirectory)at Microsoft.TeamFoundation.Build.Workflow.Activities.WindowsDropProvider.CopyDirectory(字符串 sourceDirectory,String targetDirectory,String [] renameIfExists)
在 Microsoft.TeamFoundation.Build.Workflow.Activities.PublishLogFile.Execute(CodeActivityContext 上下文中)
我知道很明显这是一个权限问题。但是,我已经验证我设置的构建服务使用的用户帐户具有\ myserver \ Builds共享的权限。我可以以该用户身份登录,连接到共享,以及创建,编辑和删除文件。所以我只是不确定我在这里缺少什么或为什么我仍然得到访问被拒绝错误。
除了典型的“您只需要将drop文件夹的权限授予构建服务帐户”之外,我还会喜欢一些反馈。
答案 0 :(得分:0)
我刚刚与客户进行了讨论。在我的案例中,解决方案是构建丢弃位置不能成为友好的DNS名称。
例如,我们服务器的名称是GXDPLTFSBLD1P。我们为服务器设置DNS别名为" tfsbuild"。
当构建定义中的构建放置位置设置为\\tfsbuild\drops
时,我们得到了该错误。
当我们将其更改为\\GXDPLTFSBLD1P\drops
时,它就消失了。