Jenkins + Gradle + Artifacts:部署只工作一次

Jenkins + Gradle + Artifacts: Deploy only work once

我正在使用 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 等)过程。

我找到了解决问题的方法。

我必须停用 jenkins 服务器上的 gradle 守护进程(通过 GRADLE_OPTS)。

使用最新的 Gradle Artifactory Plugin 版本 4.4.7 解决了与 Gradle 3.1.

的兼容性问题

Gradle 构建片段:

buildscript {
  repositories {
    jcenter()
  }

  dependencies {
    classpath(group: 'org.jfrog.buildinfo', name: 'build-info-extractor-gradle', version: '4.4.7')
  }
}

注意版本。