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".