How to set Jenkinsfile for upload maven artifact to Artifactory
From Artifactory Jenkins plugin version 2.7.2 you can run Maven and Gradle using Artifactory pipeline DSL.
Using the new DSL your build script would look like this:
def server = Artifactory.server "artifactory@ibsrv02" def buildInfo = Artifactory.newBuildInfo() buildInfo.env.capture = true def rtMaven = Artifactory.newMavenBuild() rtMaven.tool = MAVEN_TOOL // Tool name from Jenkins configuration rtMaven.opts = "-Denv=dev" rtMaven.deployer releaseRepo:'libs-release-local', snapshotRepo:'libs-snapshot-local', server: server rtMaven.resolver releaseRepo:'libs-release', snapshotRepo:'libs-snapshot', server: server rtMaven.run pom: 'pom.xml', goals: 'clean install', buildInfo: buildInfo buildInfo.retention maxBuilds: 10, maxDays: 7, deleteBuildArtifacts: true // Publish build info. server.publishBuildInfo buildInfo
You can find more Artifactory pipeline DSL examples in the jenkins-pipeline-examples.