2014-10-23 56 views
1

據我所知,配置Jenkins定期檢測存儲庫中的更改非常簡單,只需啓用「Poll SCM」選項並以cronjob方式設置計劃即可。在詹金斯輪詢SCM的機制是什麼?

但是,在Subversion的特定情況下,我想了解底下發生了什麼:Jenkins如何檢測它們是否在存儲庫中發生了更改?

只需通過解析svn status命令?

回答

3

它使用內部用JAVA編寫的SCM插件。該庫具有包括SVN在內的所有SCM工具的實現。它基本上執行庫中的pollChanges(),它從AbstractProject.getLastBuild()。getTimestamp()內部檢查最後一次修改時間,並確定是否有新的更改集,並相應地觸發生成。參考:https://wiki.jenkins-ci.org/display/JENKINS/Polling+for+changes

+0

謝謝,我明白了。 SCM插件是在談論與Jenkins默認安裝的Subversion插件,還是其他一般的SCM插件? – user38931

+0

是的,在SCM插件內部使用Subversion插件來實現這一點。 –