Jenkins作业可以配置为忽略某些签入吗?

时间:2018-10-19 22:12:18

标签: jenkins

我根本不使用ANT,因此拟议的副本确实回答了有关Jenkins的问题。

我正在构建一个可增加程序版本号的构建脚本。为此,将检出版本文件,计算并写入下一个版本号,然后检入。

在我看来,这将触发一个无尽的循环。当我们使用TFS构建时,我们可以在检入注释中输入一个字符串,例如***NOCI***之类的东西,并且该检入将被忽略并且不会触发新的构建。

詹金斯是否有这样的选择,或者我可以运用一种技术来解决这个问题?

我正在使用TFS插件访问我的SCM。

2 个答案:

答案 0 :(得分:1)

Subversion SCM插件允许您指定在轮询新版本时将排除的路径。还可以将Git SCM配置为排除某些区域。

通过排除包含版本号的文件,您将能够避免观察到的恶性循环。

答案 1 :(得分:0)

由于您无法cloak.tfignore的版本控制文件...您可以使用NOCIOption property,并在其注释中传递标记。

您将设置NOCIOption property of the SyncWorkspace workflow activity in TFS,并在更改版本期间,在签到的注释中传递“ **** NO_CI ***”标志。如果您使用GlobalAssemblyInfo.cs版本控制,而不是在整个项目中进行链接,则可以避免这种情况。

我建议不要使用您的“版本”文件,因为从根本上来说,这是循环签入的原因。我建议您在整个.NET解决方案中使用GlobalAssemblyInfo.cs链接,并在调用MSBuild之前对其加盖印记。它就像冠军,可以在解决方案中的整个.NET项目中设置和链接版本控制。如this answer here中所述,您在解决方案中实现了全局程序集信息。

您可以在"What are the best practices for using assembly attributes"处了解更多信息。您可以简单地标记该文件(通过Powershell或其他方式)并调用MSBuild,您的版本将出现在所有.DLL中。