Могу ли я создать новый плагин типа пакета Jfrog Artifactory?
Я хочу хранить модули RTL (в основном файлы VHDL - .vhd) в Artifactory и иметь возможность отслеживать зависимости этих пакетов с Xray и другими службами Jfrog.
У меня уже есть довольно чистый формат "пакета", я просто хочу, чтобы Artifactory анализировал мои файлы метаданных при загрузке, которые являются частью этого пакета, так же, как он управляет файлами в пакете debian.
Это возможно? И с чего бы мне начать?
1 ответ
Поскольку вы упомянули Xray, важно отметить, что XRay поддерживает только определенные типы файлов, которые он поддерживает (и они должны находиться в поддерживаемом типе репозитория). Я не уверен, что вы подразумеваете под "отслеживанием зависимостей", но я должен отметить, что XRay в основном хорош для сканирования компонентов кода и выявления уязвимостей.
Чтобы просто отслеживать зависимости (т. Е. Методично знать, какие зависимости связаны с определенным пакетом), вы можете использовать различные интеграции Build Info. Прочитайте об этом здесь: https://www.jfrog.com/confluence/display/RTF/Build+Integration
Если вы свяжете свои файлы с определенным объектом информации о сборке (объектом метаданных, который хранит информацию, связанную со сборкой), вы сможете отслеживать артефакты и зависимости сборки в пользовательском интерфейсе Artifactory и даже запрашивать их с помощью языка запросов Artifactory. Существуют различные варианты (подключаемые модули CI) в зависимости от того, какой сервер CI вы используете, но в целом все подключаемые модули JFrog CI предназначены для одной и той же цели: загрузка содержимого в Artifactory и отслеживание метаданных сборки, таких как зависимости сборки.
Что касается вашего вопроса, вы не уточнили конечную цель, но вы должны быть в состоянии достичь этого с помощью пользовательского плагина. Пользовательские плагины могут использоваться для расширения встроенных возможностей Artifactory и добавления вашей собственной бизнес-логики к процедурам в Artifactory (например, развертывание файла). Вы можете прочитать больше об этом здесь: https://www.jfrog.com/confluence/display/RTF/User+Plugins
В нашем общедоступном репозитории Github есть много примеров, которые, вероятно, помогут: https://github.com/JFrogDev/artifactory-user-plugins