jenkins - 詹金斯文件复制工件失败
问题描述
我已安装Copy Artifact Plugin 并尝试使用以下 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
推荐阅读
- selenium - 如何填写具有“用户名”和“密码”两个字段的弹出表单?
- excel - 如何删除分配给 VBA/Excel 中特定名称的重复值?
- flutter - 错误“在 null 上调用了 getter 'url'。” 我在这里做错了什么?
- amazon-web-services - 使用 AWS_IAM 的 AWS API 网关方法身份验证
- azure-data-factory - Azure 数据工厂性能问题 - 直到活动循环存在消耗大量时间
- activemq-artemis - ActiveMQ Artemis 如何控制多播队列名称?
- java - Cordova 选择了错误的 java 版本
- php - 使用 tinymce 创建的表提供了太多隐藏的换行元素
- node.js - 将 Firestore 数据多次导出到同一个存储文件夹是否安全?覆盖会破坏导出的数据吗?
- aspnetboilerplate - ASP NET Boilerplate API 项目创建问题