【发布时间】:2015-01-14 00:31:31
【问题描述】:
据我了解,将 Jenkins 配置为定期检测存储库中的更改就像启用“轮询 SCM”选项并以 cronjob 方式设置计划一样简单。
但是,在 Subversion 的特定情况下,我想了解幕后发生的事情:Jenkins 如何检测它们是否已经在存储库中进行了更改?
只需解析svn status 命令?
【问题讨论】:
据我了解,将 Jenkins 配置为定期检测存储库中的更改就像启用“轮询 SCM”选项并以 cronjob 方式设置计划一样简单。
但是,在 Subversion 的特定情况下,我想了解幕后发生的事情:Jenkins 如何检测它们是否已经在存储库中进行了更改?
只需解析svn status 命令?
【问题讨论】:
它使用内部用 JAVA 编写的 SCM 插件。该库实现了包括 SVN 在内的所有 SCM 工具。它基本上在库中执行 pollChanges() ,该库在内部检查 AbstractProject.getLastBuild().getTimestamp() 的最后修改时间,并在那里识别是否有新的更改集并相应地触发构建。参考:https://wiki.jenkins-ci.org/display/JENKINS/Polling+for+changes。
【讨论】: