2015-11-11 5 views
1

Это первый раз, когда я хочу участвовать в создании сторонней библиотеки с открытым исходным кодом. Библиотека размещена на github, поэтому я создал вилку этой библиотеки, я клонировал свою вилку на свой компьютер и создал ветвь функции для этого исправления (для выполнения однократного слияния). Это не проблема.Использование исправленной библиотеки перед публикацией новой версии в репозиторий M2

Проблема заключается в времени после исправления, и до того, как автор библиотеки публикует исправление для репозитория maven. Я хотел бы использовать эту библиотеку в моем проекте так же быстро, как я исправить эту конкретную ошибку. В настоящее время я только один человек, работающий над проектом (это мой любимый проект, действительно). Но это вопрос времени, пока я не попаду в такие проблемы с моей коммерческой работой, где я не единственный, кто работает над проектом.

Я вижу четыре резолюции этой проблемы:

  • Опубликовать его на местный Maven репо

    • Я знаю, как сделать это
    • проблематично в среде CI
  • Настройка локальной зависимости в градиенте

    • Гадкий
    • проблематичен в CI
  • Опубликовать в общественном мавена

    • Работы в CI
    • Никогда не сделал это
    • Это не моя библиотека - Я надеваю 't хочу подписать под моими работами
  • Private Maven размещен на моем VPS

    • Всегда хотел иметь один
    • Работает с CI
    • я придется провел некоторое время чтения - так как я никогда не делал это

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

ответ

2

Определенно вариант 4: «Частный Maven, размещенный на моем VPS».

Настройка диспетчера частного хранилища на самом деле не так уж сложна. Есть несколько менеджеров репозитория с открытым исходным кодом, например Artifactory, Nexus или Archiva. Я лично всегда использовал Artifactory, поэтому я не могу говорить за других, но для Artifactory есть very good official guide, который очень хорошо объясняет, как его настроить и настроить.

Обратите внимание, что с помощью секретного менеджера хранилища также имеет много других преимуществ:

  • Он служит в качестве кэша для публичных репозиториев Maven, таким образом избегая, чтобы загрузить каждую зависимость от Интернета. Это особенно полезно в контексте ограничения доступа к Интернету.
  • Он может размещать частные библиотеки, созданные вашими проектами, или нет, так же, как и публичные библиотеки. В качестве примера этого, с которым мне пришлось иметь дело, является драйвер JDBC Oracle: он не является общедоступным, и на каждой машине для разработчиков установить беспорядок.
  • Использование прозрачных для проектов Maven: зависимости объявляются точно так же, независимо от того, является ли это публичным артефактом или внутренним.

Таким образом, не только менеджер хранилища является хорошей идеей для вашей текущей проблемы, но и может решить многие ваши будущие проблемы.

Плюс, как вы сказали, другие варианты очень хрупкие по конкретным причинам, о которых вы говорили.

+0

Спасибо Tunaki за ваш ответ. Также спасибо за то, что я показал искусственное руководство. Я искал различные частные хранилища около двух лет назад, и я увидел искусственный с действительно старым и уродливым интерфейсом, что заставило меня отказаться от него. Определенно. – Mateusz

 Смежные вопросы

  • Нет связанных вопросов^_^