我有一个遗留系统,有C ++ dll,libs和exes。 我们建立在2008年或2012年。
显然,如果通过TeamCity将2008 dll意外添加到2012版本中。那会很糟糕。 Crashy。反之亦然。
所以有人知道如何让TeamCity停止能够发生的事情。我觉得必须有可能,因为TeamCity运行构建,因此“知道”每个工件是如何创建的。当然有一些方法可以创建一个规则或类似的说“只有2008这个构建的工件,否则错误”?
我可以设置TeamCity来阻止意外的2008年和2012年的构建混合吗? (不使用魔法)。
的Ta!
示例:
My2008TeamCity build(使用2008生成的产品) 需要工件a2008,b2008,c2008
My2012TeamCity build(使用2012构建的产品) 需要文物a2012,b2012,c2012
工件是DLL,仅在运行时加载。
最近我们运行了My2008TeamCity版本。 一些工件被错误地设置,通过TeamCity来自2012年版本。 即a2012被添加到2008版本作为工件。
由于DLL仅在运行时加载运行,因此在手动运行代码之前我们没有注意到问题,并且代码的那部分命中了。
现在想象一个庞大的系统,有大量的工件,许多开发人员经常在子项目上工作......而且可以防止这种情况突然出现的事情突然变得需要。
理想情况下,我希望TeamCity说'没有这个工件是针对2012构建的,并且您正在运行2008构建'并且无法构建。所以我们可以解决它。 X
答案 0 :(得分:0)
我不清楚,你是否在一个解决方案中使用了所有这些?您可以使用VCS的单独文件夹(构建配置设置\版本控制设置\编辑签出规则)和配置" 2012"仅从VCS获取此文件夹。