【发布时间】:2012-06-11 04:50:57
【问题描述】:
我想知道是否应该在这里发布,但后来我在 TFS 上看到了其他类似的帖子,但它们并没有解决我的问题,所以我决定继续发布它。
我正在尝试修复一位前同事设置的 TFS 盒子。到目前为止,除了签入/签出文件之外,我还没有以任何其他身份使用过 TFS。出于本练习的目的,我创建了一个简单的 winforms 项目,其中只有一个表单和一个表单加载时的 hello world 警报,我是试图签入到 TFS。我们启用了门控签入,并且我们还禁止用户绕过构建验证,因为它可以在下面的红色框中突出显示。
现在的问题是所有门控签入尝试都失败并出现错误:
Access Denied: User 'myOrgDomain\user.name' needs Override check-in
validation by build permission for the following build definition(s). DefnName
消息提示我说是部分成功
当我打开构建时,我看到了这个
当我在网上查看时,我发现解决方案是允许用户通过启用灰显的复选框来绕过验证。我不希望出现这种情况。有什么方法可以让绕过验证处于禁用状态,同时我的门控签到仍然有效?
这让我完全被难住了,我无法弄清楚可能出了什么问题。任何关于在我的日志中查看哪里以找出问题所在的指针也可能会有所帮助。日志确实表明构建成功,没有警告或错误。
【问题讨论】:
-
看起来您有一个自定义的构建模板(我看到了指标生成),是不是构建定义被更改为在签入时不包含
***NO_CI***注释?运行构建的服务帐户是否有权绕过签入验证? -
是的,我有一个定制的构建模板。不包括 NO_CI 评论?.. 当构建早期使用门控签入时,该评论曾经存在。这位同事离开后,当他的帐户被禁用时,我不得不在我的登录名下运行 TFS。那是整个问题开始的时候。我已经给了自己他给自己的所有特权;据我所知。
-
我认为是自定义模板或您的帐户有问题。您可以尝试使用默认模板进行门控签入,看看是否可行?如果是这样,您基本上已经排除了权限问题。如果不是,您的帐户是否是您项目的“Builders”组的成员?
-
默认模板也有同样的问题。我的帐户是 Builders 组的成员。我通过进入 TFS 管理控制台 > 团队项目集合 > 组成员资格 > 有效用户 > [TestProject]Builders 以及 [TestProject]Administrators 来检查这一点。事实上,我已经在项目集合管理员下添加了我的帐户......仍然是同样的问题。
-
在构建定义的权限中,是否指定了构建定义的拒绝覆盖签入验证?还是只是空白?