我正在尝试使用Mercurial作为VCS为TeamCity设置构建触发器。目前,触发器看起来是这样的:
+:/**
当提交变更集时,将触发此触发器。但是,我已经在TeamCity中设置了每个构建在版本控制系统中进行标记。标记过程会触发以上构建触发器,因此构建会陷入循环。
有没有人可以建议一个版本控制系统的构建触发器,以过滤掉标记过程?
我正在尝试使用Mercurial作为VCS为TeamCity设置构建触发器。目前,触发器看起来是这样的:
+:/**
当提交变更集时,将触发此触发器。但是,我已经在TeamCity中设置了每个构建在版本控制系统中进行标记。标记过程会触发以上构建触发器,因此构建会陷入循环。
有没有人可以建议一个版本控制系统的构建触发器,以过滤掉标记过程?
添加触发器模式:
-:/.hgtags
从构建触发器中过滤出.hgtags文件。这个文件在源被TeamCity标记时会被修改。当这个文件被排除时,标记操作将不会触发构建触发器。
Teamcity和上面的语法对我来说很陌生,但如果您具有脚本能力,可以通过执行以下操作检查变更集是否是仅标签的变更集:
if [ "$(hg log -r tip --template '{files}')" = '.hgtags' ]; then
echo tag only
else
echo other stuff too
fi
只需将tip
替换为您即将执行的任何更改集,并根据需要将echo语句更改为exit
、make
或hg tag
,以跳过构建或仅在最后一个更改集仅为标记时跳过创建新标记。