Аудит репозиториев и токенов
Сформируйте список локальных и виртуальных репозиториев, объём хранящихся артефактов и перечень действующих токенов. PkgMirror CLI (pkgmirror audit) экспортирует это в JSON за один проход.
Практический маршрут: как перенести инфраструктуру пакетов с JFrog на PkgMirror, ускорить сборки и решить типовые проблемы без остановки вашего pipeline.
Миграция проходит без остановки сборки. PkgMirror подключается как дополнительный узел и начинает кэширование с первого запроса.
Соберите инвентарь: список репозиториев, объём артефактов и текущие токены доступа. Для большинства команд это занимает один-два рабочих дня. Ниже — три последовательных раздела, каждый из которых можно выполнить независимо.
Пошаговый маршрут от инвентаризации до полного переключения. Обычно занимает 5–9 рабочих дней для типового enterprise-кластера.
Сформируйте список локальных и виртуальных репозиториев, объём хранящихся артефактов и перечень действующих токенов. PkgMirror CLI (pkgmirror audit) экспортирует это в JSON за один проход.
Разверните узел PkgMirror в вашем VPC и подключите его рядом с JFrog. Настройте прозрачное проксирование npm, Maven и PyPI — конфигурация в pipeline не меняется.
Запустите pkgmirror sync --from artifactory. Процесс воспроизводим и идиотопotent: повторный запуск добирает только новые версии. Подписи и хэши проверяются на каждом шаге.
Инструмент pkgmirror verify сравнивает SHA-256 каждого артефакта между двумя системами. Отчёт с расхождениями (если они есть) выгружается в CSV для проверки командой.
Замените endpoint на узел PkgMirror в конфигурации CI/CD. Рекомендуются два этапа: сначала для новых репозиториев, затем для легаси. Откат — одна строка в конфиге.
После 30 дней стабильной эксплуатации выгрузите архив артефактов и отключите подписку. PkgMirror хранит полную историю версий и подписей, поэтому данные не теряются.
После миграции типичный enterprise-кластер сокращает время сборки на 30–45%. Ниже — три конкретных приёма, которые дают основной эффект.
Не ставьте всё в один кэш. Разделите артефакты по частоте доступа и объёму.
Первый уровень — локальный кэш агента сборки (до 10 ГБ, TTL 24 ч). Второй — региональный узел PkgMirror (до 500 ГБ, TTL 72 ч). Третий — глобальный слой на гранике сети. Такой расклад даёт медианное время hit 4 мс и снижает нагрузку на исходные источники на 80%.
Начните с профиля вашего трафика: pkgmirror profile --days 30 покажет, какие пакеты действительно горячие, а какие можно держать только в глобальном слое.
Параллельно с запуском CI-задачи вызовите pkgmirror prefetch --manifest lockfile. К моменту старта сборки все зависимости уже в локальном кэше — время первого запроса падает с секунд до миллисекунд.
Включите --lock-sha256 в манифесте: PkgMirror фиксирует точные хэши всех зависимостей. Повторная сборка всегда воспроизводит идентичный результат — ключ для отладки регрессий.
Кэш инвалидируется только при публикации новой версии пакета, а не по таймеру. Это устраняет «дрейф» между сборками и убирает ручное управление TTL.
Пять ситуаций, с которыми чаще всего сталкиваются команды в первые две недели после миграции. Для каждого — конкретная команда и ожидаемое поведение.
Токен не был перенесён. Выгрузите его из JFrog (jfrog rt token), импортируйте в PkgMirror (pkgmirror auth import) и обновите переменную окружения в CI. После этого ошибка исчезает с первого же запроса.
Обычно означает, что артефакт был пересобран в JFrog без обновления версии. Запустите pkgmirror verify --diff и сравните отчёт. Если расхождение в одном файле — пересоберите пакет с фиксированным хэшем и повторите синхронизацию.
Проверьте локальный кэш агента: pkgmirror cache status. Если размер меньше 2 ГБ, увеличьте лимит в pkgmirror.conf до 10 ГБ. Также убедитесь, что prefetch включён — без него первый запрос идёт в региональный узел, что добавляет 20–40 мс.
Проверьте, что узел PkgMirror видит публикацию новой версии. Запустите pkgmirror events tail — в логе должны появляться записи типа invalidate pkg@version. Если их нет, проверьте подписку на события в настройках региона.
Скорее всего, пакет был опубликован после последнего запуска sync. Выполните pkgmirror sync --since last-run — команда добирает только новые версии. Для полного аудита используйте pkgmirror audit --full.
Запустите pkgmirror audit на своём кластере и получите отчёт с планом миграции за 10 минут. Без установки, без изменений в pipeline.