git Клон https с именем пользователя и паролем в URL очень медленный, когда выполняется Terraform или Molecule на CentOS 7 - PullRequest
0 голосов
/ 05 марта 2020

Мне известно, что медлительность клонирования git является популярной топикой c в Интернете, но после просмотра в течение некоторого времени я не смог найти ничего, что соответствовало бы моей указанной c проблеме.

У меня есть локальный сервер Gitlab, на котором, помимо прочего, размещены модули Terraform и Ansible роли. Они клонируются соответственно самим Terraform и инструментом тестирования Molecule. Зачастую, но не всегда, когда я использую эти инструменты с компьютера с CentOS 7, для клонирования небольших репозиториев требуется несколько минут. Клонирование тех же репозиториев из командной строки занимает совсем немного, как и следовало ожидать. Единственное, что у них общего, - это то, что они настроены на использование URL-адресов https со встроенными именем пользователя и паролем, как в:

https://user:password@host/repository.git

У меня никогда не возникало этой проблемы при запуске одной и той же команды Terraform из Windows 10.

Могу ли я попытаться ускорить это? Я знаю, что мог бы попробовать переключиться на s sh, но особенно terraform запускается встроенным в довольно сложный конвейер, и внесение такого изменения было бы несколько сложным.

Обновление

Я заметил, что эта проблема ухудшается со временем. Я просто запускал Molecule несколько раз после запуска виртуальной машины, с которой я работаю. Первые пару раз клонирование было быстрым, теперь оно замедляется. Может ли это быть связано с энтропией?

Обновление 2

Я заметил, что если я прерву Молекула, когда она застрянет, и сразу же перезапущу ее, во второй раз после проверки выполняется без задержки.

Ответы [ 2 ]

0 голосов
/ 22 апреля 2020

Я не сталкивался с этой проблемой с тех пор, как обновил системный пакет git более новым. Это может быть вызвано проблемой с кэшем учетных данных, но я на самом деле не проверил, так ли это.

На случай, если кому-то будет интересно, я установил пакет git2u с IUS хранилище

0 голосов
/ 06 марта 2020

Клонировать только ветку и только последнюю версию:

git clone -b master --single-branch --depth 1 $ repo

...