TeamCity застрял на "обновлении источников" на одном РЕПО Git


Я только что настроил TeamCity 8.0 на Windows для сборки проектов (решений Visual Studio) в четырех отдельных репозиториях Git. Он работает, как и ожидалось, на трех из них, но на одном он застревает на обновляющих источниках. Настройки для четырех корней VCS идентичны (за исключением URL-адресов git repo fetch).

Все проекты TeamCity используют проверку на стороне сервера.

Журнал сборки для проблемного проекта содержит

[15:36:34]: bt1 (работает для 41m: 38s)

[15:36:34]: проверка изменений (запуск для 41m:37s)

[15:36:37]: публикация внутренних артефактов

[15:36:38]: [публикация внутренних артефактов] отправка сборки.начать.свойства.файл gz

[15:36:37]: очистка временного каталога: C:TeamCitybuildAgenttempbuildTmp

[15:36:37]: каталог оформления заказа: C:TeamCitybuildAgentwork62d0281b7178c739

[15:36:37]: обновление источников: проверка на стороне сервера (бежит за 41м:34С)

[15:36:38]: [обновление источников] будет выполнять чистую проверку. Причина: агент не имеет никакой версии источников проекта

[15:36:38]: [обновление источников] построение и кэширование чистого патча для корня VCS: git@qa.company.com:Company.WebSite.git#master

Используя Process Monitor на агенте сборки, я вижу, что он забивает следующую папку операциями ReadFile.

C:ProgramDataJetBrainsTeamCitysystemcachesgitgit-11F9493A.gitobjectspackpack-1490ccc8f7896ab876413465c4b48e87448bed35.пакет

Что .размер файла pack составляет около 300 МБ, что, по моему мнению, соответствует размеру РЕПО Git.

Я пытался удалить эту папку и перезапустить TeamCity build agent и build server Windows services, но он просто создается заново, а затем TeamCity снова забивает его.

Существуют ли какие-либо другие рекомендации для как устранить эту проблему?

3 7

3 ответа:

Сценарий в принятом ответе ко мне не относился. Я смог решить эту проблему, просто создав новый корень VCS для того же РЕПО и присоединив его к моей конфигурации сборки.

Я перепостил это на форумах TeamCity и получил ответ там.

TeamCity имеет ограничение по умолчанию на размер файла 128 МБ; если в вашем РЕПО есть какие-либо файлы, которые или когда-либо были больше этого ограничения, то клон РЕПО завершается неудачей.

У нас есть SQL-скрипт в нашем РЕПО, который раньше был размером около 200 МБ.

Исправление состояло в том, чтобы установить внутренний параметр в TeamCity, чтобы увеличить этот предел:

teamcity.git.stream.file.threshold.mb=256

Используйте параметр принудительная очистка В меню Действия конфигурации сборки.

TeamCity-Принудительная Проверка Чистоты

При следующем запуске сборки она воссоздаст локальный репозиторий git и должна вернуться к нормальному состоянию.