Jenkinsfile管道中S3Publisher插件的Groovy编译错误

rt4zxlrg  于 2022-11-01  发布在  Jenkins
关注(0)|答案(2)|浏览(248)

一个非常新手的Jenkins问题,但我无法找到任何解决方案,可能是由于我对Jenkins的了解有限,可能无法理解可用的文档。我正在使用Jenkins中的S3publisher插件,并正确配置了此插件的aws凭据。但是,我无法使用此插件编写Jenkinsfile来上传文件。我在下面粘贴了一个截断的管道:

pipeline {
    agent any
    stages {
       stage("publish to s3") {
            steps {
                    //$class: 'S3BucketPublisher',
                    $class: 'S3Upload',
                    profileName: ‘myawsprofile’,
                    entries: [[
                        bucket: ‘mybucket’, 
                        excludedFile: '', 
                        flatten: false, 
                        gzipFiles: false, 
                        keepForever: false, 
                        managedArtifacts: false, 
                        noUploadOnFailure: false, 
                        selectedRegion: 'us-iso-east-1',
                        howDirectlyInBrowser: false, 
                        sourceFile: ‘myfile’, 
                        storageClass: 'STANDARD', 
                        uploadFromSlave: false, 
                        useServerSideEncryption: false]]
                }
            }
        }
    }
 }

我已经做了各种修改,在运行Jenkins管道时,我不断遇到org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed错误。我看到的最新错误是:

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 27: unexpected token: S3Upload @ line 27, column 29.
                       $class: 'S3Upload',

有没有人遇到过这个之前,或让我知道我应该在哪里寻找一些更多的了解这个插件是如何通过Jenkinsfile应该工作?

jobtbby3

jobtbby31#

我还没有专门使用过这个插件,但是看一下文档,你可以尝试这样做:

S3Upload {
    profileName: ‘myawsprofile’,
    ....

如果这不起作用,你可以考虑使用Pipeline AWS插件,它更受欢迎,有更好的支持/文档。它也有能力做更多的事情,而不仅仅是处理S3,而且使用简单。对于你的特定情况,可以在这里找到相关的文档。另外,你可能会发现this answer很有帮助。因为它涉及到使用Pipeline AWS插件端到端地上传到S3。

u0njafvf

u0njafvf2#

使用管道语法获取代码片段,我将其作为一个步骤发布到一个阶段中,如下所示:

stage("publish to s3") {
           steps {
                s3Upload consoleLogLevel: 'INFO', dontSetBuildResultOnFailure: false, dontWaitForConcurrentBuildCompletion: false, entries: [[bucket: 'my-S3-bucket', excludedFile: '', flatten: false, gzipFiles: false, keepForever: false, managedArtifacts: false, noUploadOnFailure: false, selectedRegion: 'us-east-1', showDirectlyInBrowser: false, sourceFile: '**/target/*.jar', storageClass: 'STANDARD', uploadFromSlave: false, useServerSideEncryption: false]], pluginFailureResultConstraint: 'FAILURE', profileName: 'test0-aws', userMetadata: []

            }
}

相关问题