jenkinsfile copyArtifacts 失败

标签 jenkins continuous-integration jenkins-pipeline

我有Copy Artifact插件已安装并尝试使用以下 Jenkinsfile 通过 jenkins 管道构建和部署

参数 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 的正确语法是什么?我在这里缺少什么?

最佳答案

我会检查你安装的Copy Artifacts插件的版本(你可以在/pluginManager/installed中看到),支持管道的最低版本是1.39

关于jenkinsfile copyArtifacts 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54836236/

相关文章:

java - Jenkins 似乎无法构建 java Artifact 。更多信息包含在 github gist [Pastebin] 中

linux - 使用 sed 命令的 Jenkinsfile ssh 问题

jenkins - 使用管道和 groovy,如何从 Jenkins 中提取当前构建的测试结果?

visual-studio-2010 - Visual Studio 网站构建在 CI 服务器上间歇性失败

vb6 - VB6 可以使用巡航控制吗?

Jenkins 具有不同构建参数的多个 cron 触发器

ios - 已辞职的 ipa 在 iOS 8 中安装但未在 iOS 9+ 中安装

jenkins - 如何将环境变量传递给由 Jenkins Job DSL 创建的 MultibranchPipelineJob?

android - Ant 构建具有依赖项的 Android 项目

deployment - Jenkins:FTP/SSH 部署,包括删除和移动文件