首页 文章

Gradle Jenkins Artifactory Maven Repo?

提问于
浏览
13

我有一个使用Jenkins构建的Java项目,使用Jenkins CI服务器,我想使用与Maven兼容的工件发布到Artifactory服务器 . 该项目正在使用Git . 如果可能的话,我还想使用Jenkins的发布管理功能 .

这非常令人困惑 . 至少有五个插件,具有很多重叠的冗余功能 . 一些插件似乎取代了其他插件 . 有些插件似乎需要其他插件 .

仅供参考,五个相关的插件似乎是:

1)Jenkins Artifactory插件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.

我假设我需要在build.gradle中使用 mavenmaven-publish

maven-publish 被标记为 maven 插件的孵化后继者 . 它有多好?它有多稳定?

如何使用Gradle Artifactory插件与标准maven发布插件相比使用Jenkins插件?

1 回答

  • 18
    • Gradle Artifactory plugins: Gradle可以直接部署构建工件和构建信息,而无需CI服务器中的其中一个Artifactory插件 .

    • artifactory 插件与 maven 插件一起使用并发布 configurations ,由 maven 插件生成 .

    • artifactory-publish 插件与 maven-publish 插件一起使用,并发布 maven-publish 插件生成的 publications .

    • Jenkins Artifactory plugin 有两种工作模式:

    • 提供UI以覆盖Gradle构建脚本中 artifactoryartifactory-publish 插件中指定的设置 .

    • 如果不存在,则将 artifactory 插件添加并配置到Gradle脚本 .

    • 它还提供发布管理(适用于两种模式) .

    那么,这就是你需要决定的:

    • 是否使用其中一个Gradle插件 . 我们的建议是 - 使用它(与仅使用UI的配置相比,构建脚本中的版本化配置是一个优势 .

    • 您要使用哪个插件 - mavenmaven-publish . 虽然后者仍然是'incubating',但它比前者灵活得多 . 一旦您知道要使用哪个maven插件,请选择适当的artifactory插件 .

    • 如果要使用发布功能,则需要Artifactory Jenkins插件,只需选中(或取消选中)'Project uses the Artifactory Gradle Plugin'复选框即可 .

相关问题