我正在使用Gradle和Jenkins,并希望将工件部署到Artifactory。不幸的是,当我在Jenkins中开始构建时,此部署只能运行一次。
如果我删除Jenkins服务器上的工作区和〜/ .gradle文件夹,则部署将再次运行。仅删除工作区是不够的。
对我来说似乎是个错误。我是否有任何未知版本冲突。或者是我看不到的不同之处。谢谢你的帮助。
环境:
Gradle构建脚本:(基于jfrog的示例)
buildscript {
repositories {
jcenter()
}
dependencies {
classpath(group: 'org.jfrog.buildinfo', name: 'build-info-extractor-gradle', version: '4.4.5')
}
}
allprojects {
apply plugin: 'java'
apply plugin: 'maven-publish'
repositories {
jcenter()
}
group = 'org.jfrog.example.gradle'
version = '1.0.1-SNAPSHOT'
status = 'integration'
}
artifactory {
publish {
defaults {
publishConfigs('archives')
}
}
}
// Setting this property to true will make the artifactoryPublish task
// skip this module (in our case, the root module):
artifactoryPublish.skip = true
Jenkins Artifactory插件设置:
停用休息(未设置)。
登录Jenkins(控制台输出),第二次运行时更改了版本并更改了源代码:
Jenkins Artifactory Plugin version: 2.7.2
[Gradle] - Launching build.
[CdExampleArtifactory] $ cmd.exe /C '""C:\Program Files (x86)\Jenkins\tools\gradle-3.1\bin\gradle.bat"' --init-script c:/temp/init-artifactory8368571638486556211gradle artifactoryPublish && exit %%ERRORLEVEL%%"
:artifactoryPublish
:api:artifactoryPublish
:services:artifactoryPublish
:shared:artifactoryPublish
:services:webservice:artifactoryPublish
BUILD SUCCESSFUL
Total time: 2.422 secs
Build step 'Invoke Gradle script' changed build result to SUCCESS
Finished: SUCCESS
看起来任务不会启动构建(jar等)过程。
答案 0 :(得分:3)
使用最新的Gradle Artifactory Plugin版本4.4.7解决了Gradle 3.1的兼容性问题。
Gradle build snippet:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath(group: 'org.jfrog.buildinfo', name: 'build-info-extractor-gradle', version: '4.4.7')
}
}
请注意版本。
答案 1 :(得分:0)
我找到了解决问题的方法。
我必须在jenkins服务器上停用gradle deamon(通过GRADLE_OPTS)。