Я успешно создал небольшую среду разработки программного обеспечения (SEE) для приложений Java, которая - среди других инструментов - на основе maven и nexus. Моя реальная проблема - не настоящий сюрприз - обычно для связи требуемых артефактов из центральных хранилищ обычно требуется доступ к Интернету. Но ЮВЕ должно быть строго офф-лайн, и нет способа изменить его (.. соображения безопасности).
Моим первым быстрым решением было зеркальное отображение установки nexus/maven на машине, которая была подключена к Интернету, запустить стандартную pom, чтобы заполнить зеркальную связь и перенести кеш через CD-ROM в целевую систему. Довольно уродливые. Я не очень надеюсь адаптировать этот процесс для получения обновлений для артефактов или новых. Фактически, теперь мы обычно просто импортируем библиотеки, которые нам нужны, и создаем новые артефакты (с помощью нексуса), вместо этого используем официальные из центрального и других.
Кто-нибудь сталкивался с тем же вызовом и нашел более умный и эффективный подход?
Edit
Спасибо за все ответы, я думаю, что я должен быть более точным по актуальной проблеме и решению, о котором я сейчас думаю: я думаю, что мне нужно создавать, заполнять и синхронизировать частный "центральный" репозиторий, основанный на центральных и других репозиториях в Интернете, или точно: два идентичных хранилища. Один подключен к Интернету другой в локальной сети. Затем я могу сохранить обновленный интернет-репозиторий и скопировать изменения с помощью DVD в локальный репозиторий - что видно для Nexus.
Будет ли это работать? Существует ли документация о том, как настроить что-то вроде "центрального" на частном сервере, существует ли механизм для синхронизации выбранных артефактов?
(не хотел публиковать мои мысли в начале, потому что я надеялся получить совершенно разные идеи)
Изменить 2 - "Лучшая практика" - добавлена по запросу
Наша "лучшая практика" для использования maven в среде, полностью отключенной от Интернета:
- Мы установили связь на центральном сервере, чтобы рабочие станции разработки программного обеспечения имели сервер, с которым можно было разговаривать (и это был наш собственный репозиторий артефактов).
- Мы экспортировали файлы POM на рабочую станцию с доступом в Интернет, очистили локальный репозиторий на этом компьютере и сделали
dependency:go-offline
(plugin). Это засело локальный репозиторий со всеми необходимыми артефактами - Мы импортировали этот локальный репозиторий в безопасную среду и добавили все плагины в nexus (просто скопировали файлы - структура идентична)
Сделайте это раз в неделю со всеми файлами POM (можно автоматизировать), и у вас есть довольно стабильный и полезный локальный репозиторий.