Подтвердить что ты не робот

Gradle + Дженкинс + Artifactory Maven Repo?

У меня есть проект Java, созданный с помощью Gradle, с использованием сервера Jenkins CI, и я хотел бы опубликовать его на сервере Artifactory, используя артефакты, совместимые с Maven. Проект использует Git. Я также хотел бы использовать возможности управления выпуском Jenkins, если это возможно.

Это очень запутанно. Существует по меньшей мере пять плагинов с многократными избыточными функциональными возможностями. Некоторые плагины, похоже, заменяют других. Кажется, что некоторые плагины требуют других.

FYI, пять соответствующих плагинов выглядят следующим образом:

1) Jenkins Artifactory Plugin https://wiki.jenkins-ci.org/display/JENKINS/Artifactory+Plugin

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+Plugin

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 vs с помощью плагина Jenkins?

4b9b3361

Ответ 1

  • Gradle Плагины Artifactory: Gradle могут развернуть сборку артефактов и создавать информацию напрямую, без необходимости в CI-сервере, используя один из плагинов Artifactory.
    • artifactory плагин работает с плагином maven и публикует configurations, сгенерированный плагином maven.
    • artifactory-publish плагин работает с плагином maven-publish и публикует publications, сгенерированный плагином maven-publish.
  • Jenkins Artifactory plugin работает в двух режимах:
    • Предоставление пользовательского интерфейса для переопределения параметров, указанных в плагинах artifactory или artifactory-publish в Gradle build script.
    • Добавление и настройка плагина artifactory к Gradle script, если его там нет.
    • Он также обеспечивает управление выпуском (для обоих режимов).

Итак, вот что вам нужно решить:

  • Используете ли вы один из плагинов Gradle. Наша рекомендация - использовать его (версия конфигурации в сборке script является преимуществом по сравнению с настройкой только для UI.
  • Какой плагин вы хотите использовать - maven или maven-publish. Хотя позднее все еще "инкубируется", он гораздо более гибкий, чем первый. Как только вы знаете, с каким плагином maven вы хотите использовать, выберите соответствующий плагин artifactory.
  • Вам нужен плагин Artifactory Jenkins в любом случае, если вы хотите использовать функциональные возможности релиза, просто отметьте (или снимите флажок), что "Project использует флажок Artifactory Gradle Plugin".