Jenkins Poll SVN строит постоянно, даже без новых коммитов - PullRequest
8 голосов
/ 29 августа 2011

Я пытаюсь настроить Jenkins для опроса из моего репозитория SVN и запускаю новую сборку всякий раз, когда он обнаруживает, что вошел коммит. У меня работает часть опроса, но здание довольно переусердствовало, и сейчас он перестраивается каждый раз, когда опрашивается - были ли какие-либо изменения. Файл SCM-polling.log гласит:

Started on Aug 31, 2011 9:49:51 AM
Workspace doesn't contain svn://10.64.147.118:/svn/repos/conttest/csa_test/trunk. Need a new build.
Done. Took 10 ms
Changes found

Вывод на консоль от Jenkins выглядит следующим образом:

Started by an SCM change
Checking out a fresh workspace because the workspace is not svn://10.64.147.118:/svn/repos/conttest/csa_test/trunk
Cleaning workspace /var/lib/jenkins/jobs/CSATester/workspace
Checking out svn://10.64.147.118:/svn/repos/conttest/csa_test/trunk
....
no revision recorded for svn://10.64.147.118:/svn/repos/conttest/csa_test/trunk in the previous build
No changesets found for this build

URL-адрес хранилища установлен в svn: //10.64.147.118: / svn / repos / conttest / trunk, и я сказал Дженкинсу удалить неверсионные файлы и затем обновить их перед сборкой. Рабочее пространство определенно содержит файлы в репозитории, и сборка завершается каждый раз.

Есть идеи, что может быть причиной этого?

Ответы [ 4 ]

3 голосов
/ 31 августа 2011

Итак, я обнаружил, что протокол svn: // не поддерживается ни Jenkins, ни плагином SVN.После изменения моего SVN-сервера на использование http: // и установки этого нового пути в Jenkins, сборок больше не происходит, если на самом деле не будет нового коммита.вместо этого используйте http: //

1 голос
/ 30 августа 2011

У нас была похожая проблема с CVS, когда опрос CVS занял больше времени, чем я сказал ему, чтобы опросить изменения. То есть CVS потребовалось бы три минуты, чтобы опросить изменения, но я велел опрашивать каждую минуту. Это не должно быть проблемой с Subversion.

Вы можете использовать хук после фиксации, как сказал Feasoron , но при таком подходе есть две проблемы:

  • Если Дженкинс / Хадсон не работает при срабатывании триггера, Дженкинс / Хадсон не будет делать сборку.
  • Если существует какая-либо разница во времени между сервером Дженкинса / Хадсона (даже на несколько секунд), вы можете получить Дженкинса / Хадсона для создания более старой версии хранилища.

У большинства людей есть опрос Subversion в Дженкинс / Хадсон, и у них нет этих проблем, так что это, вероятно, связано с чем-то в вашей настройке.

Посмотрите журналы опроса для каждой сборки и выясните, почему Дженкинс / Хадсон считает, что видит обновление (доступно в каждой сборке в виде ссылки в левой части веб-страницы). Также посмотрите на первые несколько строк вашей консоли сборки и посмотрите, предлагает ли она какие-либо подсказки.

Если вы все еще не можете понять это, обновите свой вопрос несколькими журналами опросов, и это может помочь нам понять, почему у вас возникают эти проблемы.

1 голос
/ 30 августа 2011

Я не уверен, что является причиной этого, но у меня было много проблем с опросом SCM в прошлом.Я обнаружил, что лучше написать SVN-триггер пост-фиксации, который запускает URL-адрес сборки.Это исключает накладные расходы на опрос и никогда не будет запускать сборку, если нет изменений.Если вы хотите стать модным, вы можете даже сделать триггер «умнее» и избежать компиляции при изменениях файлов, таких как readme.txt и т. П.

0 голосов
/ 30 августа 2011

Это может быть проблема с плагином SVN. Смотрите здесь Выпуск 10222 .

...