jenkinsfile copyArtifacts не удается - PullRequest
       23

jenkinsfile copyArtifacts не удается

0 голосов
/ 23 февраля 2019

У меня есть Копировать артефакт Плагин установлен и пытается создать и развернуть его через конвейер jenkins, следуя Jenkinsfile

Параметр DEPLOY_BUILD_NUMBER по умолчанию соответствует текущему номеру сборки.Я хочу сделать так, чтобы конвейер собирался и развертывался, если DEPLOY_BUILD_NUMBER - текущий номер сборки, ИЛИ просто развернуть любой номер сборки, указанный для DEPLOY_BUILD_NUMBER

pipeline {
    agent { label 'windows' }

    parameters {
        string(
            name: 'DEPLOY_BUILD_NUMBER',
            defaultValue: '${BUILD_NUMBER}',
            description: 'Fresh Build and Deploy OR Deploy Previous Build Number'
        )
    }

    stages {
        stage ('Build') {
            steps {
                echo "Building"
            }
            post {
                success {
                    archiveArtifacts artifacts: 'build.tar.gz', fingerprint: true
                }
            }
        }
        stage ('Deploy') {
            steps {
                echo "Deploying...."
                script {
                    step ([$class: 'CopyArtifact',
                    projectName: '${JOB_NAME}',
                    filter: "*.tar.gz"]);
                }
            }
        }
    }
    post {
        always {
            cleanWs()
        }
    }
}

. Когда я запускаю этот конвейер, я получаю следующую ошибку

java.lang.UnsupportedOperationException: no known implementation of interface jenkins.tasks.SimpleBuildStep is named CopyArtifact

Также попытался

stage ('Deploy') {
        steps {
            echo "Deploying...."
            copyArtifacts filter: '*.tar.gz', fingerprintArtifacts: true, projectName: '${JOB_NAME}'
        }
    }

, который потерпел неудачу со следующей ошибкой

java.lang.NoSuchMethodError: No such DSL method 'copyArtifacts' found among steps

и

stage ('Deploy') {
    steps {
        echo "Deploying...."
        script {
                copyArtifacts filter: '*.tar.gz', fingerprintArtifacts: true, projectName: '${JOB_NAME}'
            }
    }
}

, что дало мне

java.lang.NoSuchMethodError: No such DSL method 'copyArtifacts' found among steps

Каков правильный синтаксис для copyArtifacts?чего мне здесь не хватает?

1 Ответ

0 голосов
/ 23 февраля 2019

CopyArtifact определяет шаг, copyArtifacts, который вы можете использовать напрямую.

Проверьте ссылку на шаг здесь

...