SBT разрешает зависимости по часам - PullRequest
0 голосов
/ 01 июля 2019

Я использую Jenkins для тестирования и развертывания. Сборка Jenkins берет все библиотеки от Nexus, из журналов видно, что загрузка с Nexus занимает миллисекунды:

...
[0m[[0minfo[0m] [0mdownloading http://nexus-url:8081/nexus/sbt_0.13/0.8.0/jars/sbt-revolver.jar ...[0m
[0m[[0minfo[0m] [0m [SUCCESSFUL ] io.spray#sbt-revolver;0.8.0!sbt-revolver.jar (28ms)[0m
[0m[[0minfo[0m] [0mdownloading http://nexus-url:8081/nexussbt-scalariform-1.6.0.jar ...[0m
[0m[[0minfo[0m] [0m [SUCCESSFUL ] org.scalariform#sbt-scalariform;1.6.0!sbt-scalariform.jar (34ms)[0m
...

Но между загрузками с Nexus иногда SBT занимает очень много времени (до 2 часов, когда обычно это всего 5 минут) для разрешения зависимостей. В это время медленно появляются Resolving.. сообщения журнала:

...
[2K[0m[[0minfo[0m] Resolving org.scalastyle#scalastyle_2.10;0.8.0 ...
[2K[0m[[0minfo[0m] Resolving org.scalastyle#scalastyle_2.10;0.8.0 ...
[2K[0m[[0minfo[0m] Resolving com.typesafe#config;1.2.0 ...
[2K[0m[[0minfo[0m] Resolving com.typesafe#config;1.2.0 ...
[2K[0m[[0minfo[0m] Resolving org.scoverage#sbt-scoverage;1.3.5 ...
[2K[0m[[0minfo[0m] Resolving org.scoverage#sbt-scoverage;1.3.5 ...
[2K[0m[[0minfo[0m] Resolving org.scoverage#scalac-scoverage-plugin_2.10;1.1.1 ...
[2K[0m[[0minfo[0m] Resolving org.scoverage#scalac-scoverage-plugin_2.10;1.1.1 ...
...

Команда : sbt clean test $PROJECT_NAME/assembly

Я рассчитал это локально (после удаления ~ / .ivy1, ~ / .sbt и всех / целевых папок) для Nexus, и он всегда решает все очень быстро.

Что может быть причиной такого длительного разрешения, если загрузка библиотек происходит очень быстро?

Может ли это зависеть от ресурсов машины Jenkins (в это время выполняются какие-либо тяжелые операции)?

...