Использование базы данных MySQL из плагина Artifactory

0

Я пытаюсь написать плагин мониторинга для Artifactory с использованием MySQL. Идея заключается в том, что плагин будет собирать некоторые данные с использованием общедоступного API Artifactory и некоторых утилит командной строки, а затем записывать эти данные в базу данных MySQL для последующего анализа. Проблема в том, что плагин не может найти драйвер jdbc. Я поместил драйвер JAR в <artifactory-home>/etc/plugins/lib и я регистрирую его так:

def sql = Sql.newInstance('jdbc:mysql://localhost:3306/artifactoryTest', <user>, <pass>, 'com.mysql.jdbc.Driver')

Это приводит к ClassNotFoundException в com.mysql.jdbc.Driver. Похоже, что загрузчик классов, используемый Artifactory, не может найти JAR.

Есть ли способ сделать эту работу, или я лаяю неправильное дерево? Я знаю, что могут быть некоторые технологии баз данных, которые лучше подходят для этой цели, но многие из них кажутся излишними для такого базового варианта использования, и я хотел бы сохранить его максимально простым.

  • 0
    Похоже, это будет работать, если вы поместите jar в WEB-INF / lib внутри artifactory.war. От jfrog.com/confluence/display/RTF/User+Plugins «Скрипты имеют доступ к полному пути к классу Artifactory». Однако следует рассмотреть вопрос о том, допустимо ли это Arifactory EULA и / или с точки зрения обновления Artifactory.
  • 0
    @Pradyumna Спасибо, похоже, это моя лучшая ставка на данный момент. Я сталкивался с подобной проблемой, которая помечена как «не будет реализована», поэтому не похоже, что она скоро изменится: jfrog.com/jira/browse/RTFACT-31
Теги:
groovy
artifactory

1 ответ

0
Лучший ответ

Оказывается, это действительно возможно. Artifactory может быть настроен на использование нескольких различных баз данных, включая MySQL, поэтому я решил, что должен быть способ использовать тот же драйвер, который использует Artifactory и действительно есть.

В документации по настройке Artifactory с MySQL говорится:

Загрузите драйвер JDBC MySQL (доступный с веб-сайта MySQL) и скопируйте файл mysql-connector-java-.jar в каталог общих библиотек сервера. Например, $ TOMCAT_HOME/lib при установке в качестве службы или $ ARTIFACTORY_HOME/tomcat/lib в автономной версии.

Простое отключение JDBC-драйвера JAR в каталоге shared lib делает его доступным для использования в плагинах. Я предполагаю, что этот подход будет работать и для любых других JAR.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню