Прокси Sonatype Nexus для пакетов CRAN?

Наша организация использует Sonatype Nexus для управления артефактами, независимо от того, являются ли они разработанными нами внутренними материалами или прокси-серверами для других репозиториев, таких как Apache или аналогичные. Большинство материалов основано на JAR.

Моя группа выполняет большую часть своей работы в R, и нам интересно, имеет ли смысл 1) развертывать наш внутренний код в виде пакетов R в Nexus и 2) создавать прокси-сервер для зеркала CRAN в Nexus. Я предполагаю, что для этого потребуется некоторый связующий код, но я не очень хорошо разбираюсь в Nexus, поэтому я не совсем уверен, как это будет выглядеть. В идеале это позволило бы нам устанавливать пакеты R, нажав Nexus напрямую, вместо того, чтобы сначала загружать их, а затем устанавливать вручную.

У кого-нибудь есть предложения или прецедент?


person Ken Williams    schedule 06.02.2013    source источник
comment
Nexus будет размещать файлы любого типа. Проблема в том, что функциональность прокси ограничена небольшим количеством форматов репозиториев (Maven, NuGet и т. д.). Знаете ли вы формат репозитория CRAN? (мне это не знакомо)   -  person Mark O'Connor    schedule 08.02.2013
comment
Кажется, это его собственный пользовательский формат. Его артефактами являются файлы *.tar.gz или *.zip, есть структура каталогов и индексный файл, в котором указано, что доступно в репозитории.   -  person Ken Williams    schedule 08.02.2013
comment
Да, большинство репозиториев будут иметь эти функции. Проблема в совместимости...   -  person Mark O'Connor    schedule 08.02.2013


Ответы (3)


Поскольку поддержка CRAN в NXRM 3.20.0 предлагается при установке по умолчанию, благодаря тому, что Sonatype использует упомянутый ниже плагин сообщества.

Для более старой версии NXRM у сообщества Nexus есть плагин, добавляющий поддержку репозиториев CRAN. Вы можете найти его на GitHub и установить самостоятельно.

person Dawid Sawa    schedule 09.03.2018
comment
Да, мы начали использовать этот плагин около года назад, и он работает у нас достаточно хорошо. - person Ken Williams; 09.03.2018

Nexus теперь изначально поддерживает пакеты R, начиная с версии 3.20.

Ознакомьтесь с примечаниями к выпуску: https://help.sonatype.com/repomanager3/formats/r-repositories#RRepositories-RRepositoryGroups

Я смог создать репозиторий R с той же автоматизацией.

person Aidan Melen    schedule 10.02.2020

Как насчет размещения вашего внутреннего заархивированного пакета по URL-адресу (только внутреннему, если хотите), который вы затем можете указать devtools::install_url?

person Steve Lianoglou    schedule 06.02.2013
comment
Это работает, в основном это то, что мы делаем сейчас (с добавлением запуска функции write_PACKAGES(), чтобы сделать каталог действительным CRAN-подобным сайтом), но это не помогает группе разработчиков иметь все свои зависимости в Nexus. Использование Nexus/Maven имеет преимущества, такие как явное описание всех зависимостей в одном месте, независимо от того, к какому типу артефактов они относятся. - person Ken Williams; 07.02.2013