在构建服务器(CI服务器)上构建或重建

lys*_*cid 4 .net c# teamcity continuous-integration build

我正在运行TeamCity来构建一个.NET项目(更确切地说是几个项目).

我应该使用Rebuild目标还是构建目标?

我想最小化构建时间,而不是生成任何没有更改的项目的更新版本.

这种安全做法是否使用"Build"目标?如果以前的项目输出被删除怎么办?我如何验证我可以安全地这样做?

ang*_*son 6

如果需要重建所有项目,则应使用rebuild,例如为了获得一致的时间戳或版本号(尽管通常,链接的AssemblyInfo.cs中的更改也会触发构建.)

即使先前构建的构建输出消失,或者即使构建恰好在没有构建输出的新构建代理上完成,构建也是完全安全的.在这种情况下,将建立所有必要的项目.

但是,您可能在sln/csproj文件中有自定义MSBuild步骤,这些步骤依赖于(Re)构建,在这种情况下您需要更加小心,但除此之外,如果您愿意,请转到Build.