Ответ 1
Это происходит, поскольку в вашем локальном репозитории клиентская сторона все еще имеет все ветки, теги и т.д. Чтобы избежать использования их во время процесса сборки, есть несколько сценариев, которые вы можете рассмотреть:
-
Плагин Jenkins git позволяет запускать
git remote prune
перед каждой сборкой. Поскольку документация для команды довольно конкретна, она будет делать именно то, что вы хотели:Удаляет все ветки скрытого отслеживания. Эти устаревшие ветки уже удалены из удаленного репозитория, на который ссылаются, но все еще локально доступны в "remotes/".
Эта функция доступна на странице конфигурации проекта, в разделе "Управление исходным кодом", затем найдите git и ваше определение хранилища. Под ними вы должны иметь кнопку "Дополнительно", и после щелчка по ней должна быть видна опция "Удаленные ветки" Prune перед сборкой. Убедитесь, что он проверен, и вы должны быть добрым.
- Второй вариант, который используется в моих Jenkins и тот, который я лично предпочитаю, заключается в использовании Плагин очистки рабочей области. Этот плагин удалит всю рабочую область заданного задания до или после выполнения сборки проекта. Таким образом, это создаст чистую свежую среду для вашего Maven, Ant, [...] *, что бы использовать для построения проекта. И да - для этого потребуется полная проверка проекта, что в некоторых случаях может занять довольно много времени, но оно даст 100% -ное глупое решение без ошибок, в котором все файлы будут свежими, поскольку разработчики намеревались их быть.