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服务器解析工件?即使只是想要看,也会有一个开始。
答案 0 :(得分:1)
Artifactory不是jcenter。如果您的库仅部署到Artifactory,则需要设置构建以从Artifactory获取依赖项。你有太多方法可以实现它:在詹金斯和格拉德。
使用Artifactory Jenkins Plugin设置Jenkins以使用Artifactory作为依赖项。
安装插件,在设置中设置Artifactory服务器,然后在作业配置中选中“从Artifactory中解析工件”复选框。
另一个选项可能是指示Gradle将您的Artifactory服务器用作依赖存储库。可能这样的事情会起作用:
repositories {
maven {
url "http://myartifactoryhost:80801/artifactory/libs-releases"
}
}
请注意,您需要更换主机和端口,如果您希望更改另一个工件(例如libs-snapshots
),您可能还需要更改存储库的名称。
我与JFrog,Bintray和 [artifactory]背后的公司,请参阅my profile了解详细信息和链接。