Объект Jenkins buildInfo не получает артефакт

#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