in Jenkins declarative pipeline I have a job that currently successfully uploads ZIP package to Artifactory Generic repo.
First I run npm install
and npm build
scripts, and new generated folder I ZIP it and send to artifactory.
sh "npm install"
............
sh "npm run build:qa"
................
stage ('Artifactory stage') {
steps {
rtServer (
id: 'Artifactory',
url: 'https://artifactory.domain.dev/artifactory',
credentialsId: 'id'
)
}
}
stage ('Build info stage ') {
steps {
rtBuildInfo (
maxBuilds: 50,
deleteBuildArtifacts: true
)
}
}
stage ('Upload stage') {
steps {
rtUpload (
serverId: 'Artifactory',
spec: '''{
"files": [
{
"pattern": "arena*.zip",
"target": "my-generic-snapshot-local/packages/"
}
]
}''',
)
}
Now, the same ZIPPED file I would like to send to Maven repo - test-maven-snapshot-local
.
I saw on this link Declarative Pipeline Syntax - JFrog - JFrog Documentation
that I should define rtMavenResolver
rtMavenDeployer
and rtMavenRun
.
I would like to keep npm install and build
logic.
But how do I specify in rtMaven*
which zip package I want to UPLOAD to artifactory? I can’t find that part. I do not see a field which references the package that will be uploaded.
Also how to define a name of the package how it should be uploaded? also if I want to specify a subfolder of the repo where I want to upload how I could do that - can "snapshotRepo: " get a subfolder name as well? will the pom
file be automatically generated as this is required?
Can someone help me how I should define those 3 methods in my case?
Thanks