如何构建仅签入代码文件以及如何仅签入该构建的 tfs 中的代码工件?
Posted
技术标签:
【中文标题】如何构建仅签入代码文件以及如何仅签入该构建的 tfs 中的代码工件?【英文标题】:how to build only check in code Files and How to get only check in code artifacts in tfs for that build? 【发布时间】:2020-01-08 06:18:48 【问题描述】:实际上第一个代码是在一些更新开发人员更改代码并签入文件后构建和部署的,现在我想构建该文件或文件夹并在放置文件夹中获取该文件工件?以及如何部署这些文件?在 Tfs 2017 中,它将仅自动构建签入文件。
【问题讨论】:
【参考方案1】:您希望进行增量构建。当您添加 Visual Studio Build / MSBuild 任务 来构建项目时,只需取消选中 Clean 选项。因此,它将同步源代码,并且仅从第二次构建时获取更改的文件。看 Build task Arguments了解详情。
Clean Option :如果您想使其成为增量构建,请设置为 False。此设置可能会减少您的构建时间, 特别是如果您的代码库很大。这个选项没有实用性 除非您还将 Clean repository 设置为 False,否则效果。
如果要重建代码项目中的所有代码,请设置为 True。 这相当于 MSBuild
/target:clean argument
。
但是对于工件,TFS 始终交付所有文件 - 已更改和未更改。
它确实复制了所有项目输出(后续项目 依赖它可能依赖于这些程序集和文件)。
这会导致增量构建速度更快,但它不会“仅 交付更改的文件”。它始终交付所有文件,无论它们是否 改变或不变。
你可以看看 jessehouwing 的在这个问题中关于这部分的回复:Incremental Builds issue in Team Foundation Server
【讨论】:
谢谢你的信息。有什么power shell脚本之类的,请给我任何建议 由于传输到 Artifact 的文件保留时间戳(未更改的文件具有 last_edited 时间戳,并且已编辑的文件具有新的当前时间戳)您可以创建 FIXED Artifact 目录(不取决于构建版本,但始终相同)。然后使用 PowerShell 脚本(作为第一个发布步骤)删除时间戳为 PatrickLu-MSFT,请您出示您的 Power shell 脚本。 @naguparimi 抱歉***不是代码编写服务站meta.***.com/questions/372166/…我们没有现成的/开箱即用的powershell脚本,否则会直接分享给大家。我们只能给你一些见解和方向,你可能需要自己去挖掘。这样做总是更好;正如你理解它是如何工作的!:) @naguparimi 只是检查提供的信息是否有用。如果我的回复有帮助或给出了正确的方向。感谢marking it as an answer,这也将帮助社区中的其他人。以上是关于如何构建仅签入代码文件以及如何仅签入该构建的 tfs 中的代码工件?的主要内容,如果未能解决你的问题,请参考以下文章
我们如何在门控签入期间获取搁置集名称并将其分配给 tfs 构建任务中的变量
Heroku 构建失败:“node_modules 已签入源代码管理”