I want to use specific artifactory path for log rotation strategy. We need to keep only 5 latest builds in the artifactory. We are successfully able to load jenkins build to the specified artifactory path, however we are unable to link the path to buildInfo variable for deletion/retention. If we don't specify path it doesn't throw error but it goes to some default directory and doesn't delete build from the path specified in the manifest. We cannot use CURL as artifact configuration is defined at admin level. So username and password needs to be picked from environment variable.
stage('Artifactory: Upload and retention') {
def server = Artifactory.server 'abc-xyz'
def buildInfo = Artifactory.newBuildInfo()
def upload_spec_bin = """{
"files": [
{
"pattern": "${cyncapp_binary_name}",
"target": "generic-local/orgproj/cyncapp/${env.BUILD_NUMBER}/"
}
]
}"""
server.upload spec: upload_spec_bin
def upload_spec_manifest = """{
"files": [
{
"pattern": "cyncapp_manifest.txt",
"target": "generic-local/orgproj/cyncapp/${env.BUILD_NUMBER}/"
}
]
}"""
server.upload spec: upload_spec_manifest
//def build_info = server.upload spec: upload_spec_manifest
build_info.retention maxBuilds: 5,deleteBuildArtifacts: true
server.publishBuildInfo buildInfo
}