【解決】JenkinsのSVNポーリングによるBuildが2回走る現象について
うちだけかもしれないし、解決してないけど問題として。誰か知ってたら教えて。
JenkinsがSVNを1分毎にポーリングしてbuildジョブが走る構成。(post-commitはしていない)
必ずではないが、commit→svnが検知→buildするがsvn updateしてない→終わった後にもう一度ジョブが実行されsvn updateもされbuild、というようなことが稀にある。
その時のsvnポーリングのログはこんな
1回めのジョブ
Started on 2014/01/08 15:23:14 Received SCM poll call on for build_by_commit on 2014/01/08 15:23:14 https://svnrepo/projectname/trunk はリビジョン156,097 (前回は156,042) Done. Took 0.2 秒 Changes found
ジョブ結果
リビジョン: 156042 変更点はありません。
2回めのジョブ
Started on 2014/01/08 15:24:14 Received SCM poll call on for build_by_commit on 2014/01/08 15:24:14 https://svnrepo/projectname/trunk はリビジョン156,097 (前回は156,042) Done. Took 0.28 秒 Changes found
ジョブ結果
リビジョン: 156097 変更履歴 SVNコミットコメント〜〜〜 (詳細)
これ見るとポーリングが呼ばれたの1分後なのでポーリングは正しく動いてる。
で、1回目でもChanges foundって言ってるのに結果を見ると変更点はないと。
調べると昔はこんなバグがあったようだけど、最新版を使っているし(2ヶ月くらい前に復活したのか?)
[JENKINS-692] Job Builds from subversion are building twice - Jenkins Jira
http://jenkins-ci.361315.n4.nabble.com/Triggering-build-twice-for-each-commit-td4633969.html
こっち見るとJenkins鯖とsvn鯖の時刻が一致してないんじゃねーかという推測。
SVN鯖の時刻を確認する権限ないから分からないけどこの辺りなのかなぁ。
毎回なるわけじゃないので、逆に判断しづらく困りもの。
誰か情報知ってたら教えてね。