可以将TeamCity分支概念应用于带有构建链的Subversion吗?

时间:2015-09-22 13:31:40

标签: svn teamcity

我们在subversion中使用TeamCity的分支概念取得了一些成功,指向tags就像这里提到的那样https://stackoverflow.com/a/6875151/2416394虽然我们知道这对DVCS来说是主要的,比如git。

我们通过提供项目参数%Tag%来扩展链接的答案,该参数成为结帐规则的一部分。 所以我们的SVN Root是http://myserver/svn/tags/,结帐规则是 +:%Tag%=>. 每次我们签出时,都会添加一个新标签作为" branch"并建立源,这很好

现在我们开始尝试链式构建。 让我们说我有这些配置:

  • Source Build
  • 安装-精简版
  • 安装 - 全

两个安装程序都需要源代码,它们都将其作为快照和工件依赖项。主要问题是:Tag是Source Build的强制参数,但不是另一个参数,我不想将所有属性复制到每个配置。 因此,每当我触发任何安装程序时,源都会在%Tag%设置为空的情况下进行构建。

然后导致建筑 http://myserver/svn/tags/%Tag%标记为空。这将检查"默认"中的所有标签。在一个工作空间中分支,后来无法构建,因为结构不同,无论如何都是大的。

1 个答案:

答案 0 :(得分:0)

由于Installer-Lite和Installer-Full对源构建具有快照依赖性,因此可以使用%dep.SourceBuild.Tag%引用其SourceBuild变量(其中+:%dep.SourceBuild.Tag%=>.是源构建配置的ID )。

因此,您可以执行以下操作之一:

  • 选项1:Installer-Lite中的结帐规则变为%Tag%
    • 这是更简洁但略显不易清晰的
  • 选项2:Installer-Lite获取自己的%dep.SourceBuild.Tag%变量,其值设置为+:%Tag%=>.,然后采用与Source Build相同的结帐规则,即import time import numpy as np webColours = np.array([ [0,0,0], [0,0,128], [0,128,0], [0,128,128], [128,0,0], [128,0,128], [128,128,0], [192,192,192], [128,128,128], [0,0,255], [0,255,0], [0,255,255], [255,0,0], [255,0,255], [255,255,0], [255,255,255] ]) def getBaseColours(colours): # colours is 1000000x3 # set up a distances array (16x1000000) distances = np.zeros((16, np.size(colours, 0))) for colour in xrange(16): # calculate distance of each input colour to this webColour distances[colour] = np.sum(abs(colours - webColours[colour]), 1) # which of 16 distances is the least for each of 1000000 colours return np.argmin(distances, 0) startTime = time.time() colour = np.array([134,234,43]) colours = np.tile(colour, (1000000, 1)) getBaseColours(colours) print "Time: " + str(time.time()-startTime)
    • 要设置更多内容,但结帐规则是对称的,因此对于维护者来说不那么令人惊讶