如何查找通过svn commit触发的构建

时间:2014-06-19 15:00:53

标签: svn teamcity

我对Teamcity很新。我在Teamcity中有一个项目设置,其中包含100多个构建配置,其中许多配置相互依赖。我从所有这些构建配置中为项目创建了一个安装程序可执行文件。

考虑到产品升级并且只更改了少数组件的情况,我只需要在设置中更改组件。我想确定由于SVN提交而不是通过依赖性触发器触发的构建。我想仅使用来自SVN构建触发器的工件。

有没有办法可以找到通过SVN提交触发的构建,并且只在构建中包含这些构建来创建可执行文件?

2 个答案:

答案 0 :(得分:1)

我找到了一种方法来弄清楚如何触发构建。您可以使用参数teamcity.build.triggeredBy执行此操作。我添加了以下Command Line构建步骤。以下代码将检查是否通过SVN Commit触发了构建。

IF "%teamcity.build.triggeredBy%" == "Subversion" (
    FOR %%I IN (%system.paths.artifacts%) DO COPY %%I %system.out.artifacts% /y
)

您必须将system.paths.artifacts定义为System Properties。以下是几个例子。

  • "箱\推出\ MYDLL.DLL" "箱\推出\ MYDLL.dll.config" "箱\推出\ MYEXE.EXE"
  • " C:\输出\ MYDLL.DLL" " C:\输出\ MYDLL.dll.config"
  • " ...... \输出\ MYDLL.DLL" " ...... \输出\ MYDLL.dll.config" " ...... \输出\ MYEXE.EXE"

还定义system.out.artifacts,它是您要复制工件的目标目录。实例

  • " C:\ TEMP \设置"

答案 1 :(得分:0)

如果是一次性搜索,您可以进入审核页面(管理 - >审核)并找出SVN提交触发的构建,而不是依赖性触发器。