Jenkins Artifactory插件无法解析工件

时间:2015-05-26 15:28:19

标签: jenkins gradle artifactory

Artifactory提供了一个Jenkins插件,根据它应该

的文档
  

解决Artifactory中的工件并部署工件并将信息构建到Artifactory。

我向Artifactory发布了一个库,现在我正在尝试构建一个使用该库的项目

我的设置

的build.gradle

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.0'
    }
}

allprojects {
    repositories {
        mavenLocal()
        jcenter()
    }
}

Jenkins gradle build-step

运行./gradlew assemble

Gradle-Artifactory Integration

已启用,但由于我只需要/想要从Artifactory解析工件,我已经配置了我的Artifactory服务器和解析存储库,但禁用了其他所有工具。

我的版本目前因以下错误而失败

FAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':app'.
> Could not resolve all dependencies for configuration ':app:_debugCompile'.
   > Could not find any version that matches com.mygroup:mylib:latest.integration.
     Searched in the following locations:
         file:/var/lib/jenkins/.m2/repository/com/mygroup/mylib/maven-metadata.xml
         file:/var/lib/jenkins/.m2/repository/com/mygroup/mylib/
         https://jcenter.bintray.com/com/mygroup/mylib/maven-metadata.xml
         https://jcenter.bintray.com/com/mygroup/mylib/
         file:/mnt/jenkins/tools/android-sdk/extras/android/m2repository/com/mygroup/mylib/maven-metadata.xml
         file:/mnt/jenkins/tools/android-sdk/extras/android/m2repository/com/mygroup/mylib/
         file:/mnt/jenkins/tools/android-sdk/extras/google/m2repository/com/mygroup/mylib/maven-metadata.xml
         file:/mnt/jenkins/tools/android-sdk/extras/google/m2repository/com/mygroup/mylib/
     Required by:
         My Job:app:1.0-SNAPSHOT

显然,gradle没有在工件中搜索Artifactory。

问题

如何让Jenkins的Artifactory插件告诉gradle从我的Artifactory服务器解析工件?即使只是想要,也会有一个开始。

1 个答案:

答案 0 :(得分:1)

Artifactory不是jcenter。如果您的库仅部署到Artifactory,则需要设置构建以从Artifactory获取依赖项。你有太多方法可以实现它:在詹金斯和格拉德。

设置Jenkins

使用Artifactory Jenkins Plugin设置Jenkins以使用Artifactory作为依赖项。

安装插件,在设置中设置Artifactory服务器,然后在作业配置中选中“从Artifactory中解析工件”复选框。

或者,设置Gradle

另一个选项可能是指示Gradle将您的Artifactory服务器用作依赖存储库。可能这样的事情会起作用:

repositories {
    maven {
        url "http://myartifactoryhost:80801/artifactory/libs-releases"
    }
}

请注意,您需要更换主机和端口,如果您希望更改另一个工件(例如libs-snapshots),您可能还需要更改存储库的名称。

我与JFrogBintray [artifactory]背后的公司,请参阅my profile了解详细信息和链接。