У меня есть artifactory 4.6.1 rev 40143. У меня большая многопроектная сборка (на основе gradle), которая дает сбой примерно в половине раз, когда я пытаюсь это сделать.Это происходит:
- Сборка выполняет публикацию npm в локальном хранилище артефактов.
- Примерно через 20 секунд другая часть сборки разрешает эту публикацию, но на этот раз через виртуальный репозиторий.(который также содержит сторонние артефакты).
Разрешение из виртуального хранилища часто не удается.Каждый раз, когда я пробую это после факта, это все равно получается.
Последовательность событий такова:
08:23:41,872 artifactory: [http-nio-28080-exec-64232] [INFO ] (o.j.r.n.r.h.NpmLocalRepoHandler:289) - Deploying npm package '<ourpackage>/-/<ourpackage>-<version>.tgz' into repo 'npm_features'
08:23:42 buildserver: npm says it has successfully published
08:23:57,703 artifactory: [art-exec-215] [INFO ] (o.j.r.n.NpmPackageMetadataIndexer:116) - Preparing to write npm package metadata for repo 'npm_features' on path '.npm/<ourpackage>/package.json'
08:23:58,031 artifactory: [art-exec-215] [INFO ] (o.j.r.n.NpmPackageMetadataIndexer:123) - Finished writing npm package metadata for repo 'npm_features' on path '.npm/<ourpackage>/package.json'
08:24:00 buildserver: for a build that uses the artifact that was published at 8:23:42: npm ERR! notarget No matching version found for <ourpackage>@<version>
Я пытался воспроизвести это вне нашей большой сборки, поэтомуЯ мог бы поделиться шагами воспроизведения, но без успеха.Возможно, это связано с тем, что в нашей многопоточной многокомпонентной сборочной сборке сервер артефактов используется гораздо интенсивнее.
Я подозреваю, что новый артефакт npm можно извлечь из виртуального репозитория только после повторной индексации.Как вы можете видеть в моей сводке журнала выше, кажется, что переиндексация заканчивается через 17 секунд после публикации npm и за 2 секунды до того, как сборка попытается получить его.Вы могли бы подумать, что артефакт доступен после переиндексации, но не в нашем случае.
Итак, мои вопросы:
- Возможно ли, что публикация может быть завершена, ноеще не доступны из виртуального репозитория на том же сервере?
- Есть ли что-то, что мы можем сделать, чтобы смягчить или исправить это?
- Есть ли признаки того, что обновление до последней версии артефакта (6.5.9в настоящее время) решит наш вопрос?