我已经安装了Copy Artifact插件,并试图通过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的正确语法是什么?我错过了什么
3条答案
按热度按时间pvcm50d11#
我会检查您安装的复制工件插件的版本(您可以在/pluginManager/installed中看到),支持管道的最低版本是1.39
nqwrtyyt2#
你需要用“script {..}”
字符串
7z5jn7bk3#
CopyArtifact定义了一个步骤copyArtifacts,您可以直接使用它。
检查步骤参考here