#jenkins-pipeline #artifactory
Вопрос:
Я пытался использовать плагин Jenkins Artifactory для загрузки артефакта в Artifactory, но у меня возникла проблема с созданием артефакта (странно, что мой конвейер заканчивается, поэтому я, должно быть, вызываю тихую ошибку).
Вот код (ниже я даю более подробную информацию о том, что, по моему мнению, идет не так):
def server = Artifactory.server 'rc-artifact'
def uploadSpec =
"""{
"files": [
{
"pattern": "${unencryptedZipName}",
"target": "builds/SedTuningGui/${env.BUILD_NUMBER}/${unencryptedZipName}",
"props": "type=zip"
}
]
}"""
def buildInfo = server.upload spec: unencryptedUploadSpec
print buildInfo.getProperties().toString()
и вывод на консоль (та его часть, которую мне удобно показывать):
[..., deployableArtifacts:[], artifacts:[], ...]
Как вы можете видеть, массивы «артефакты» и «развертываемые артефакты» пусты, что означает, что сервер не получил zip-файл, который я создал.. Я знаю, что zip-файл существует, потому что я успешно его скопировал.
Все это привело меня к мысли, что строка def buildInfo = server.upload… не работает, потому что встроенный zip-файл существует, но не включен в объект buildInfo.
Это мой первый раз, когда я работаю с конвейером Дженкинса, и я думаю, что близок к тому, чтобы закрыть эту проблему, мне просто нужно немного ориентироваться.
Комментарии:
1. Видите ли вы информацию о сборке в пользовательском интерфейсе Artifactory? Кроме того, видите ли вы развернутый файл в пользовательском интерфейсе?
Ответ №1:
Спецификация файла , которую вы определили, такова uploadSpec
, но в следующей строке def buildInfo = server.upload spec: unencryptedUploadSpec
вы используете unencryptedUploadSpec
. Попробуйте с
def buildInfo = server.upload spec: uploadSpec