Назад | Перейти на главную страницу

Jenkins SVN checkout создает новые файлы

Я использую сервер Jenkins CI, который опрашивает сервер SVN, проверяет проект (Maven) и строит его.

Недавно мы изменили сервер сборки, и я заново настроил Jenkins с несколькими имеющимися у нас проектами. Теперь у этого нового экземпляра есть серьезная проблема: всякий раз, когда новый был передан в репозиторий SVN, Jenkins svn update процесс испортит те новый файлы, дублируя их содержимое. Итак, если один из наших разработчиков зафиксирует новый файл A с этим содержанием:

<test>
</test>

тогда файл окажется в рабочем пространстве Jenkins следующим образом:

<test>
</test>
<test>
</test>

Очевидно, это очень раздражает. Я могу прояснить ситуацию, протерев рабочую область, но на самом деле я не хочу делать это каждый раз, когда сборка терпит неудачу. У меня никогда раньше не было проблем с SVN и / или Jenkins.

Что могло быть причиной такого поведения?

Похоже, это ошибка Дженкинса: https://issues.jenkins-ci.org/browse/JENKINS-14551

На данный момент лучший способ справиться с этим - реализовать обходной путь путем автоматической очистки рабочего пространства перед сборкой. Однако это может не подходить, если у вас большие и частые слияния, но, насколько я понимаю, они работают над этим.

Я никогда не доверял Дженкинсу, чтобы он мог изящно обрабатывать изменения / обновления рабочей области, поэтому, как правило, я всегда выбирал "Wipe out Workspace" вариант и работал над оптимизацией сервера SVN или соединения WAN с сервером SVN, чтобы частые циклы сборки / проверки не разрушали сервер SVN или подключение к Интернету.