Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/jenkins/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在TFS中设置增量生成?_Tfs - Fatal编程技术网

如何在TFS中设置增量生成?

如何在TFS中设置增量生成?,tfs,Tfs,我想在TFS中建立一个增量构建,因为我们只想将修改过的文件部署到物理路径中,而不是整个代码中 我们希望该功能只构建和部署从以前的部署中更改的文件。这将减少构建和部署时间,开发人员无需等待更长的时间即可看到所部署的更改。您所描述的不是“增量构建”。您需要描述比增量构建更复杂的情况 你所描述的从来都不是一个现成的选择,事实上很难正确地完成,而且最终可能不会像你希望的那样对事情产生多大的影响 首先,实际上很难确定在部署之间更改的文件子集。如果您正在正确地构建和部署,那么您将创建一个单独的构建并沿着环境

我想在TFS中建立一个增量构建,因为我们只想将修改过的文件部署到物理路径中,而不是整个代码中


我们希望该功能只构建和部署从以前的部署中更改的文件。这将减少构建和部署时间,开发人员无需等待更长的时间即可看到所部署的更改。

您所描述的不是“增量构建”。您需要描述比增量构建更复杂的情况

你所描述的从来都不是一个现成的选择,事实上很难正确地完成,而且最终可能不会像你希望的那样对事情产生多大的影响

首先,实际上很难确定在部署之间更改的文件子集。如果您正在正确地构建和部署,那么您将创建一个单独的构建并沿着环境管道进行部署。这意味着,对于管道中的每个环境,在任何给定时间的“不同之处”都可能不同。例如:DEV有版本5,QA有版本4,PROD有版本3。因此,您必须首先假设您将使用最旧的版本。构建系统没有关于“发布”的固有知识,因此您必须在构建和发布管道中构建一些内容,以跟踪哪个源版本构成了生产中的最新代码

假设你已经解决了这个问题。现在,您可以仅检索部署到生产环境中的内容与正在构建的提交之间的增量

如果您使用的是编译后的代码,那么您仍然需要所有的源代码,因为您将不得不重新构建整个过程。每个程序集都将被重新生成,编译时不同的元数据将意味着这些程序集是不同的,即使构成这些程序集的代码是相同的。而且,由于程序集可以引用其他程序集,因此在构建时无法直接确定哪些程序集已实际更改并需要部署。因此,您几乎别无选择,只能每次部署所有已编译的资产。请注意,这仍然适用于TypeScript或经过编译器/transpiler进程的任何其他内容;您需要所有可用的代码,并且必须贯穿整个构建过程

因此,此时,您仍然需要构建整个应用程序以获得可部署的输出。建造时间一点也没有缩短。不过,您已经成功地将要部署的静态内容(即HTML页面、图像等)的一个子集放下来。这可能会加快您的部署速度

但是,如果使构建和部署过程变慢的原因是您有大量与代码无关的静态内容,那么您已经经历了一个非常漫长而复杂的过程,以获得一个更简单的解决方案:将静态内容移动到CDN,并使其脱离源代码控制,或者有一个单独的流程来管理静态内容,以便可以独立于无关的应用程序代码进行部署


你还没有提供任何可以用来提供如何继续的建议的信息,但希望这个答案有助于理解为什么你想做的事情不能解决你的问题,除非您完全处理的是不需要构建的静态内容或脚本。

我确信您需要解释您正在构建什么以及如何构建——可能还需要解释构建所需的时间和目标等细节。