据我了解,定期配置Jenkins以检测存储库中的更改就像启用“Poll SCM”选项并以cronjob方式设置计划一样简单。
然而,在Subversion的特定情况下,我想了解幕后发生了什么:Jenkins如何检测它们是否已在存储库中进行了更改?
只需解析svn status
命令?
答案 0 :(得分:3)
它使用内部用JAVA编写的SCM插件。该库具有包括SVN在内的所有SCM工具的实现。它基本上在库中执行pollChanges(),它在内部检查来自AbstractProject.getLastBuild()。getTimestamp()的最后修改时间,并确定是否有新的更改集,并相应地触发构建。参考:https://wiki.jenkins-ci.org/display/JENKINS/Polling+for+changes。