#jenkins #jenkins-pipeline #artifactory #jenkins-groovy #jfrog
#дженкинс #дженкинс-конвейер #artifactory #дженкинс-заводной #jfrog
Вопрос:
Мы используем artifactory для хранения наших файлов. Все файлы и папки в разделе location ${WORKSPACE}/build/processed/webApps/epmapp/*
должны быть скопированы в указанное ниже целевое местоположение.
Но копируются только файлы.
stage('Deploy Artifacts')
{
def targetLocation="epmpbcs-release-local/Platform/PBCSVB/${BRANCH_NAME}/latest/"
def targetLocationBuildNumber="epmpbcs-release/PBCSVB/${BRANCH_NAME}/${env.BUILD_NUMBER}/"
stdout = sh(script: 'rm -fv ${WORKSPACE}/buildversion.txt', returnStdout: true)
println("Delete buildversion.txt stdout ################ " stdout " ####################")
def buildversion = new File("${WORKSPACE}/buildversion.txt")
// def w = buildversion.newWriter()
buildversion<<"PBCSVB Branch:${BRANCH_NAME}, Build Number:${BUILD_NUMBER}"
//
def uploadSpec = """{
"files": [
{
"pattern": "${WORKSPACE}/build/processed/webApps/epmapp/*",
"target" : "$targetLocation"
}
]
}"""
Ответ №1:
Вы не можете загружать файлы и папки одновременно. Это ограничение на загрузку части артефакта. Вам нужно добавить еще одну задачу перед загрузкой артефакта. Добавьте шаг для создания папки «epmapp» в формате .zip или .gzp, а затем загрузите.
def uploadSpec = """{
"files": [
{
"pattern": "epmapp.zip",
"target" : "$targetLocation",
"recursive": "false"
}
]
}"""
Используйте эту ссылку для получения дополнительной информации.