gradle artifactorypublish:jenkins管道不发布属性

gradle artifactorypublish:jenkins管道不发布属性,jenkins,gradle,plugins,jenkins-pipeline,artifactory,Jenkins,Gradle,Plugins,Jenkins Pipeline,Artifactory,我正在尝试建立一个jenkins管道,以便将zip文件发布到jfrog artifactory 我正在使用com.jfrog.artifactory插件来实现这一点。这在命令行gradle中非常有效,我可以运行artifactoryPublish任务来发布工件,并将它们绑定到模块,然后模块将绑定到工件 工件将显示以下属性: build.name = `projectname` build.number = `some large number` 我可以点击从它们到构建/模块,再回到工件 但是

我正在尝试建立一个jenkins管道,以便将zip文件发布到jfrog artifactory

我正在使用
com.jfrog.artifactory
插件来实现这一点。这在命令行gradle中非常有效,我可以运行artifactoryPublish任务来发布工件,并将它们绑定到模块,然后模块将绑定到工件

工件将显示以下属性:

build.name = `projectname` 
build.number = `some large number`
我可以点击从它们到构建/模块,再回到工件

但是,当我从jenkinsfile管道运行此程序时,工件会被发布并绑定回模块,但是模块不会成功地将模块绑定回工件

工件不接收build.name和build.number属性,我无法从模块单击返回工件,因为模块无法找到或解析返回工件的路径(zip文件和生成的pom)

我从詹金斯那里传来了一些参数,比如:
ORG\u GRADLE\u PROJECT\u buildInfo.build.number=${env.build\u number}
这似乎适用于其他项目。。。但无论出于什么原因,我都无法动摇它

如果这有助于调试的话,我可以包含更多的Jenkins文件,但我实际上只是签出一个存储库并尝试发布它

我一直在这里大量阅读文档:

而且无法通过
-p项目
的东西使其正常工作

有人知道我还能尝试什么吗?我真的不想直接使用jenkins pipeline artifactory插件,因为能够从命令行部署也很好

build.gradle:

publishing {
    publications {

        ManualUpdaterPackage(MavenPublication){
            artifact assembleManualUpdaterPackage
        }
    }
}

artifactory {
    contextUrl = "${artifactoryUrl}"   //The base Artifactory URL if not overridden by the publisher/resolver
    publish {
        defaults {
            publications('ManualUpdaterPackage')
        }
        repository {
            repoKey = project.version.endsWith('-SNAPSHOT') ? snapshotRepo : releaseRepo
            username = "${artifactory_user}"
            password = "${artifactory_password}"
            maven = true
        }

    }
}
task assembleManualUpdaterPackage (type: Zip){
    dependsOn anotherTask
    from (packageDir + "/")
    include '**'
//    archiveName "manualUpdaterPackage-${version}.zip"
    destinationDir(file(manualUpdaterZipDir))
}
詹金森剪报:

withCredentials(
        [
                [
                        $class          : 'UsernamePasswordMultiBinding',
                        credentialsId   : 'validcreds',
                        passwordVariable: 'ORG_GRADLE_PROJECT_artifactory_password',
                        usernameVariable: 'ORG_GRADLE_PROJECT_artifactory_user'
                ]
        ]
) {
    withEnv(
            [                      
                    "ORG_GRADLE_PROJECT_buildInfo.build.number=${env.BUILD_NUMBER}",
                    "ORG_GRADLE_PROJECT_buildInfo.build.name=${artifactName}",
                    "ORG_GRADLE_PROJECT_buildInfo.build.url=${env.JOB_URL}"
            ]
    ) {
        sh 'chmod +x gradlew'
        sh "./gradlew --no-daemon clean artifactoryPublish"
    }

}

最终,我的同事建议改为研究Artifactory管道Gradle插件。这是非常好的工作,我们已经有了更快的成功与它