根据文件存在触发运行TeamCity

时间:2019-02-14 12:26:08

标签: triggers teamcity

我想基于文件存在来运行TeamCity进程。

我有两个TeamCity流程(DevProd):

    如果回购中(或指定位置)有Dev个文件,应运行
  • DevParam
  • 如果有Prod文件,应运行
  • ProdParam

我想在每次推送到存储库后只运行一个进程。

此文件的添加和删除方式如下:

  • [0]存储库中有DevParam个文件
  • [1]推送后,仍有DevParam个文件-> Dev进程应运行
  • [2]已推送,删除的DevParam文件并添加了ProdParam -> Prod进程
  • [3]推送后,仍有ProdParam -> Prod应该运行

我尝试使用规则创建触发器,但是失败了(类似+:DevParam的规则在删除文件时也会运行)。

Git将addind和删除此文件识别为“重命名移动”,因此可能是相关的。

1 个答案:

答案 0 :(得分:0)

文件管理不是正常过程。我强烈建议您使用分支流。例如,对所有开发人员使用develop分支(DevParam),对产品使用master分支

尝试使用以下建议。

开发人员正在dev分支中进行编码。每个开发人员仅在此分支工作。 您应该使用触发到dev分支的触发器来创建构建配置。每次新提交后,都会触发配置。

如果您确定dev分支中的代码已准备好投入生产,则只需将所有代码合并到master中即可。现在,您还可以只为master分支触发相同的配置。

有关gitflow-workflow的更多信息,请阅读this