Gradle + Jenkins + Artifactory Maven РЕПО?
у меня есть проект Java, построенный с помощью Gradle, используя сервер Jenkins CI, и я хотел бы опубликовать на сервере Artifactory, используя Maven-совместимые артефакты. Проект использует Git. Я также хотел бы использовать функции управления выпуском Jenkins, если это возможно.
Это очень сложно. Есть по крайней мере пять плагинов, с большим количеством перекрывающихся избыточных функций. Некоторые плагины заменяют другие. Некоторые плагины требуют другие.
к вашему сведению, кажется, что пять соответствующих плагинов:
1) Плагин Jenkins Artifactory https://wiki.jenkins-ci.org/display/JENKINS/Artifactory + плагин
2) Gradle "maven" плагин http://www.gradle.org/docs/current/userguide/maven_plugin.html
3) Gradle" maven-publish " плагин http://www.gradle.org/docs/current/userguide/publishing_maven.html
4) Gradle " artifactory" Плагин https://www.jfrog.com/confluence/display/RTF/Gradle+Artifactory + плагин
5) Gradle "artifactory-publish" плагин http://www.jfrog.com/confluence/display/RTF/Gradle+1.6+Publishing+Artifactory+Plugin
каков наилучший способ настроить это?
если я использую плагин Jenkins Artifactory ни с одним из других плагинов, упомянутых, я получаю сообщение об ошибке:
No publish configurations specified for project ':' and the default 'archives' configuration does not exist.
Cannot publish pom for project ':my-great-app' since it does not contain the Maven plugin install task and task ':my-great-app:artifactoryPublish' does not specify a custom pom path.
Я предполагаю, что мне нужно использовать maven
или maven-publish
в build.Gradle в?
maven-publish
помечается как инкубирующий преемник maven
плагин. Насколько лучше? Насколько она стабильна?
как использование одного из плагинов Gradle Artifactory сравнивается со стандартными плагинами публикации maven против использования плагина Jenkins?
1 ответов
-
Gradle Artifactory Плагины: Gradle может развертывать артефакты сборки и создавать информацию напрямую, без необходимости в сервере CI, используя один из плагинов Artifactory.
-
artifactory
плагин работает сmaven
плагин и публикуетconfigurations
, порожденнойmaven
плагин. -
artifactory-publish
плагин работает сmaven-publish
плагин и публикуетpublications
создается с помощьюmaven-publish
плагин.
-
-
Дженкинс Плагин Artifactory работает в двух режимах:
- предоставление пользовательского интерфейса для переопределения настроек, указанных в
artifactory
илиartifactory-publish
плагины в скрипте сборки Gradle. - добавление и настройка
artifactory
плагин к скрипту Gradle, если его там нет. - он также обеспечивает управление выпуском (для обоих режимов).
- предоставление пользовательского интерфейса для переопределения настроек, указанных в
Итак, вот что вам нужно решить:
- используете ли вы один из плагинов Gradle. Наша рекомендация-использовать его (версионная конфигурация в скрипте сборки является преимуществом по сравнению с конфигурацией только для пользовательского интерфейса.
- какой плагин вы хотите использовать --
maven
илиmaven-publish
. В то время как последнее все еще "инкубируется", оно гораздо более гибко, чем первое. Как только вы узнаете, с каким плагином maven вы хотите использовать, выберите соответствующий плагин artifactory. - вам нужен плагин Artifactory Jenkins в любом случае, если вы хотите использовать функциональность выпуска, просто установите (или снимите) флажок "проект использует плагин Artifactory Gradle".