问题标签 [gated-checkin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2104 浏览

tfs - 我们可以并行构建多个门控签到吗?

假设我们继续在 TFS 2015 中为门控签入使用 XAML 构建定义,因为 vNext 系统不支持它们,是否仍然可以让多个门控签入并行运行?

我知道构建设置 UI 中有一个 Parallel 选项,但我不知道它是否也可以应用于 XAML 构建定义,以及还有哪些其他约束。

你可以在同一个盒子上并行构建(只要它支持多个代理)?

0 投票
1 回答
140 浏览

tfs - TFS 2015 门控签入构建问题

我在 TFS 2015 进行持续集成构建时遇到了问题。我在我的问卷解决方案中添加了 3 个项目,这些项目也可以在其他解决方案之间共享代码。因此,这些项目在 TFS 下而不是在问卷调查下都有自己的文件夹结构。

当我进行签入时,TFS 发现其中一个项目的路径错误,因此无法构建。它正在寻找的路径是——

C:\Builds\1\Questionnaires\Questionnaires\src\Source2\Questionnaires\Dev\Questionnaires\Questionnaires.sln.metaproj:项目文件“C:\Builds\1\Questionnaires\Questionnaires\src\Source2\Questionnaires\Dev\调查问卷......\Common\Main\Common\Common.Utilities\Common.Utilities.csproj" 未找到。

这应该是正确的路径,因为这就是它在自己文件夹下的 TFS 中的方式。

代码实际结束的地方是:

C:\Builds\1\Questionnaires\Questionnaires\src\Source2\Common

\Main\Common 文件夹丢失。

0 投票
1 回答
323 浏览

tfs - 更改了 TFS 2015 服务器 IP 地址,现在不会构建门控签入

我的公司刚刚决定移动我们的 TFS 2015 服务器并为其赋予新的 IP 和计算机名称。我已经修复了一些由此产生的问题并且可以连接到服务器,但是我无法让门控签入构建再次工作。

我收到以下错误,显示旧 IP:

TFS 构建失败输出

我在我能找到的任何地方都改变了这个。有人能告诉我这可能来自哪里吗?

0 投票
1 回答
951 浏览

build - TFS 2015 门控签入问题

我知道这是一个非常新的功能,但我想知道是否有人在 TFS 2015 Update 2 中使用新的门控签入机制取得了任何成功?

我们已经复制了 TFS 2013 并将其升级到 2015,然后应用到更新 2。我创建了一个构建服务器,在其上安装了 VS 2015 和 TFS 构建代理软件 - 到目前为止一切似乎都正常。

我为现有项目创建了一个构建定义,它可以在我的开发中构建良好。框但运行构建给出了错误 - 由于构建框上缺少文件。我更新了 nuget 包以确保构建良好,并尝试了另一个签入 - 结果与以前相同(嗯?)。

检查构建框上的源代码,它不包括我所做的更改,就好像搁置集没有被应用一样。

为不同的项目创建另一个构建,门控签入对话框无法决定运行正确的构建 - 留给开发人员选择(在旧系统下不是必需的)。此外,列出的与该构建相关的更改实际上是针对另一个不相关的项目。

有没有人真正让这些东西与现有的存储库一起工作?在我浪费一天时间之前,您的想法和评论将不胜感激。

0 投票
2 回答
91 浏览

c# - 门控签到不会建立

我有一个使用博客服务的项目。在此服务中,有一个类型为 的对象System.Runtime.Serialization.IExtensibleDataObject

这一切都很好,我可以在本地构建我的项目并发布它(并且在 IIS 下运行时两者都可以工作)但是当我签入时,门控签入的构建失败(请参阅下面的错误)并且我无法签入代码。

错误 CS0012:“System.Runtime.Serialization.IExtensibleDataObject”类型在未引用的程序集中定义。您必须添加对程序集 'System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' 的引用

这个 dll 在我的网站项目引用的 DAL 项目中被引用。

我的项目使用 .net 4.6.1,我检查它是否安装在构建服务器上。我还检查了 dll 文件的位置是否相同(C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.Runtime.Serialization.dll- 它在构建服务器上并且应该在哪里。

我也尝试添加对网站项目的引用,但这没有帮助。我不确定是什么原因造成的,并且不知道如何解决它。

如果有人经历过类似的事情,任何帮助将不胜感激

如果它有所作为,我在 windows 10 上本地运行,但构建服务器是 windows server 2012(尽管我发布的站点也适用于 windows server 2012)

0 投票
2 回答
930 浏览

tfs - TFS:如何验证是否每个文件都已签入?

我们正在 Visual Studio 2015 和 Team Foundation Server 2013 中处理多个 ASP.NET MVC C# 项目。有时 NuGet 升级过程是一团糟,一些被替换的文件(主要是 *.png、*.gif、*.ttf)有未正确办理登机手续。到目前为止,我们发现:如果目录应该在一个步骤中删除和创建,签入过程就会遇到麻烦。您必须登记两次。问题是,如果您对此一无所知,并且我们的一位开发人员检索了最新的源代码,那么就会缺少文件。Visual Studio 在解决方案资源管理器中显示警告图标。

我的问题是:是否可以验证是否每个文件都存在于 csproj 文件中链接的 TFS 上的门控签入或夜间构建期间?至少在构建过程中应该有一个警告。

提示:这只是未编译的文件(*.cs 文件)或没有设置“在构建期间复制到输出目录”的问题。例如,捆绑在一起的 JS 文件会发生这种情况。

最终解决方案:

我将脚本文件添加到 TFS 上的团队项目中,更改了构建定义,将脚本目录添加到了“源设置”中,并将脚本包含到了“预构建脚本路径”中。完毕!

0 投票
1 回答
933 浏览

tfs - 在成功构建后签入变更集时,TFS 门控签入失败

我正在使用 TFS 版本 2015 SP3,但在创建有效的 Gated Checkin 构建定义时遇到问题。

构建过程步骤为空,以防止构建失败。

当构建成功时,构建服务器会尝试签入指定的更改并失败。错误信息是:

未找到搁置集 _Build_56625;Build\ead50f13-855a-45bd-9417-778e04e6fdfe 进行签入

据我所知,这与构建服务器使用构建用户的 GUID 而不是用户名这一事实有关。(见下图)。

错误 构建日志

是的......我读过:

On Premise Gated Check-in 失败并显示“Theshelfset ... 无法找到用于签入” - 但我不愿意放弃 5 年的历史只是为了让它发挥作用。

https://social.msdn.microsoft.com/Forums/en-US/8016349e-88dd-4fe1-aa6b-13c8d897985f/tfs-2015-on-premise-gated-checkin-fails-with-the-shelveset-could- not-be-found-for-checkin?forum=tfsbuild - 这个问题给了我一些见解,但没有有效的解决方案。

我们试过了

  • 创建新代理
  • 消除本地工作空间
0 投票
2 回答
1265 浏览

tfs - 搁置不能被搁置

我正在使用 TFS 2013 构建 MVC 应用程序,并且在尝试签入时,有时会发生此错误。

错误图片 这只发生在它被配置为进行门控登记并且当我将其关闭时,它就可以正常工作,但迟早它会再次出现。

有谁知道为什么会这样?

谢谢。

编辑:问题是配置文件转换中的 PendChange 权限。但是,我正在检查权限,并且用户被“继承允许”签入文件。

0 投票
1 回答
37 浏览

tfs - TFS 不使用门控构建来尊重 /author 参数

我们希望有如下流程:

  1. 用户提交代码审查,其中包含他们希望在主分支中进行的更改。
  2. 如果代码通过审核,选择的用户组可以拉下搁置集,并使用原始作者姓名将更改合并到 master 以进行历史跟踪。

我可以使用该tf checkin /author:{OriginalAuthor}命令,但这不适用于我们的封闭式构建。如果我绕过门控构建,它将代表原始作者签入,但使用门控构建似乎会将作者从仍标记为来自我的帐户/工作区而不是/author.

所以我想知道,有没有办法让门控构建尊重/author它执行的最终签入的参数?

0 投票
1 回答
417 浏览

tfs - TFS vNext 构建 - 门控签入触发器在初始定义后的一段时间内停止触发

我已经使用 TFS vNext 构建系统定义了几个构建定义。其中包括使用门控登记功能。

最初,当定义构建时,如果签入的文件位于门控签入过滤器的任何“包含”部分的路径中,则会出现门控签入提示,然后是(在接受时)构建的触发。

然而,一段时间后(例如 1 天),一些开发人员的签入不再触发 Gated Check-in(并且提交立即提交到源代码控制),而其他开发人员的签入继续导致 Gated Check-在提示出现。

我无法通过取消选中;保存;重新选中 Gated Check-in 复选框来重置它。

作为一种解决方法,我已经能够在不同的构建中为相同的路径启用门控签入,然后撤消它,并在原始构建上重新启用。然而,这只适用于很短的时间。

我在 TFS Server 2015 Update 2 和 Update 3 中都看到了这一点。

旧 XAML 版本从未出现此问题。

服务器产品/版本是:

  • Microsoft Visual Studio Team Foundation Server 更新 3
  • 版本 14.95.25122.0

如何配置 TFS vNext 签入以使其始终被触发?

关键词:- 门控登记失败;门控登记不会触发;跳过门控登记