2

我正在尝试s3Upload在声明性管道中使用该步骤并收到错误消息:

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

文档表明此步骤应该是基本安装(核心)的一部分,但也许我缺少插件?我尝试了pipeline-aws-stepss3publisher插件,但都不支持managedArtifacts我想使用的文档中的行为。

这是我的实现:

pipeline {
agent any


stages {

    // checkout, build, archive... removed for brevity

    stage('Publish') {
        steps {
            s3Upload(profileName: 'build',
                dontWaitForConcurrentBuildCompletion: true,
                consoleLogLevel: 'INFO',
                pluginFailureResultConstraint: 'FAILURE',
                entries: [
                    bucket: 'measurabl-build',
                    sourceFile: config.npmOutputPath,
                    selectedRegion: 'us-west-2',
                    noUploadOnFailure: true,
                    uploadFromSlave: false,
                    managedArtifacts: true,
                    flatten: false,
                    gzipFiles: true
                ],
                userMetadata: [
                    [key: 'gitCommit', value: env.GIT_COMMIT],
                    [key: 'gitPreviousCommit', value: env.GIT_PREVIOUS_COMMIT],
                    [key: 'gitLastSuccessfulBuildCommit', value: env.GIT_PREVIOUS_SUCCESSFUL_COMMIT],
                    [key: 'gitBranch', value: env.GIT_BRANCH],
                    [key: 'gitRepo', value: env.GIT_URL],
                    [key: 'buildUrl', value: env.BUILD_URL]
                ])
        }
    }
}
}

感谢您的任何输入/帮助!

4

1 回答 1

2

似乎流水线步骤参考文档是错误的,该s3Upload步骤不是 Jenkins 核心的一部分。

要获得此功能,请安装s3此处的插件(S3 Publisher):https ://plugins.jenkins.io/s3

于 2018-06-15T17:06:12.883 回答