问题标签 [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.
git - 是否可以在 TeamCity 中构建之前选择一个分支?
TFS 允许我指定运行构建的分支。
TeamCity 的构建配置具有静态定义的参数default branch
。branch specification
但我想为不同的功能分支手动启动相同的构建。
例如,我有一个gated-checkin
仅监控 PR 的构建配置,但有时我想为尚未合并的分支运行此构建。
c# - TFS 2017 - 计划构建未通过一些单元测试,门控签入工作
我有一个启用了 .NET 4.6.2 和 C#7 的 Winforms 应用程序(MVP 架构)。
在 TFS 2017 中,我们为应用程序提供了 2 个构建定义: 1. 门控签入 - 一直有效。2 在周一至周五晚上 11 点运行的计划构建。- 这是行不通的。
构建定义几乎相同(nuget restore、VS Build with 2017、运行测试......)并构建相同的解决方案。唯一的区别是计划的夜间构建额外运行代码分析并启用了代码覆盖率。平台和配置是任何 CPU | 发布。
计划的夜间构建在 8 次测试中失败。一些测试调用 SUT 中的异步方法,但其他测试非常普通,所以我看不到任何模式。
测试项目依赖于以下 nuget 包:
- MSTest.TestAdapter 1.1.18
- MSTest.TestFramework 1.1.18
- 起订量 4.2.1507.118
我看到的唯一不同的是,Gated checkin 以开发人员的名义排队,而预定的晚上构建是由 Microsoft.TeamFoundation.System 启动的
TL:DR 版本: 我如何诊断为什么测试不会在晚上运行,但使用 Gated 签入却可以正常工作?
c# - 无效的 Switch 语法构建成功?
有人可以帮助启发我吗?
我去签入了对 TFS 的一些更改,但我的签入被拒绝了。它促使我查看我编辑过的 switch 语句。
我发现 Visual Studio 2017 声称不存在编译时问题,并允许我成功构建和部署应用程序。最重要的是,甚至该方法的单元测试似乎也按预期通过了。
因此,请注意“case PaymentStatus Unknown”这一行缺少“。” 点运算符。如前所述,项目构建并运行;但未能与封闭式构建服务器签入。
另外,请注意以下测试正在通过:
最后,请注意,我只使用静态字符串而不是使用资源文件运行测试,它通过了。为了简单起见,我在上面的代码中省略了资源文件的内容。
对此的任何想法都非常感谢!提前致谢!
maven - Maven 的快照概念对 CI/CD 有任何用处吗?
我知道快照是正在开发中1.0-SNAPSHOT
的东西,即最终将作为1.0
.
但我为什么需要它?
这是流程:
Major.Minor.Revision[.Build]
我使用语义版本控制模型开发库。- 我明确定义了
Major
andMinor
whileRevision
(orBuild
) 由 CI/CD 管道自动递增 - 接受 PR 并成功运行门控构建后,新版本将发布到公司的私有存储库。
- 在依赖项目中,我指定了精确版本或浮动版本
Major.+
。
这里有地方SNAPSHOT
吗?
tfs - TFS 2018:使用构建变量进行门控签入
在我们的 TFS2018 网站上,我为我们的开发分支和发布分支定义了构建定义。发布分支具有以下命名约定:Release_yyyy_mm_dd。
我们有很多需要构建的代码(MAP文件夹)和很多不需要构建的代码(CLOAK文件夹)。
例如:
我们每次 sprint 都会发布,所以我每次都必须调整发布分支文件夹。这就是我引入构建变量 $(CurrentReleaseBranch) 的原因。
例如:
我在此构建定义上有一个门控签入触发器,并选中了使用工作区映射进行过滤器选项。在此分支上签入代码时,不会显示门控签入。
当我在映射中使用硬编码路径时,门控签入对话框确实出现在 Visual Studio 中。
我怎样才能使用变量并且仍然有门控签到?
tfs - 在 vNext Build 中仅获取部分 Shelveset
我正面临以下问题。我们有一个 Gated Check-In 设置,这意味着更改不会直接签入,而是会创建一个 Shelveset 并针对该搁置运行构建。仅当构建成功时,才会签入更改。
现在我们将构建定义设置为仅映射构建所需的少量内容,因为我们希望将其运行所需的时间保持在最低限度。现在的问题是,如果您在更改中包含任何未映射的内容,则构建将在GetSources任务中失败,因为它无法取消搁置并给出文件夹映射错误。
为了更好地理解,想象以下结构:
- MyRepository
-- Sources
--- MyCodeFiles
-- Documents
--- SomeDocuments
所以在 BuildDefinition 中我们只映射Sources目录,因为它包含我们需要构建的文件。您现在必须确保永远不要在Sources之外包含任何更改,例如在Documents中,否则构建将立即失败。
我已经搜索并找到了 unshelve 命令的描述:https ://docs.microsoft.com/en-us/vsts/tfvc/unshelve-command?view=vsts
根据这个描述,应该可以指定itemSpec
所以看起来 unshelve 命令实际上会支持“部分”取消搁置。但是,我没有看到任何关于如何通过 vNext 构建实现这一目标的方法,因为我找不到任何有关GetSources任务如何工作的信息。
有什么我错过的,还是当前的实现根本无法实现?
tfs - TFS (Builds-Triggers) - 检查 CI 选项和 Gated Check-in 选项有影响吗?
我不明白为什么我可以同时检查这两个选项,因为这些选项的行为并不相似。我只想在构建(CI)成功时检查更改。我需要做什么?
祝你今天过得愉快。
tfs - 无法撤消,因为“此处的 tfs 文件路径”中已存在文件。必须从磁盘中删除文件才能成功撤消
我已将现有的 Uploads 文件夹复制并粘贴到同一解决方案中。我已将现有的 Uploads 文件夹从“Uploads”重命名为“Uploadsold”。然后将新粘贴(创建)的文件夹从“上传 - 复制”重命名为“上传”。.csproj
然后我在没有文件的情况下在 TFS 上签入了我的代码。提交成功。
但是在这里我无法检查任何更改。每当尝试提交时,都无法撤消,因为file already exists at tfs file path here. The file must be deleted from disk for the undo to succeed
. 即使我回滚了整个变更集,但仍然存在相同的错误?
tfs - 在 TFS 中构建时收到错误消息
我遇到一个问题,在 nuget 还原期间(在 TFS 代理上构建时)几乎每个包都被标记为不兼容。为什么会这样?这在我的本地机器上完美构建,但在 TFS 中不起作用。为什么包含 AspNetCore.All 版本 2.1.0 与 netcoreapp2.1 不兼容,这对我来说没有意义。我应该在我的解决方案中使用其他版本还是我的代理有问题?
使用的 NuGet 配置文件:C:\Agents\FirstStrikeCoreMaintenance_work\1\Nuget\tempNuGet_13261.config 使用的源: https ://api.nuget.org/v3/index.json 错误:C:\Agents\FirstStrikeCoreMaintenance_work_tool\NuGet\4.0。 0\x64\nuget.exe 失败,返回码:1 包无法还原