Jenkinsfile 未检测到 aws 插件语法

Jenkinsfile not detecting the aws plugin syntaxes

我已经在 J​​enkins 2.249.3 版本上安装了以下插件

  1. https://plugins.jenkins.io/pipeline-aws/
  2. https://plugins.jenkins.io/aws-codepipeline/
  3. https://plugins.jenkins.io/aws-credentials/

我的 Jenkins 文件如下

pipeline {
  agent {
        node {
            label 'docker-01'
        }
  }
  stages {
    stage("Build Artefacts") {
      steps {
        sh 'echo \'Hello world!\' > out.txt'
      }
    }
    stage("Upload to AWS") {
      steps {
        sh 'echo \'Hello world Again!\''
        withAWS(region:'us-east-1',credentials:'SwapnilAWS') {
          s3Upload(file:'out.txt', bucket:'mybucket', path:'out.txt')
        }
      }
    }
  }
}

注意:我什至在 JenkinsFile 的开头使用了 #!/usr/bin/env groovy,但它对我没有帮助

但是,我收到错误消息,不确定我在这里遗漏了什么?

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 18: Invalid parameter "file", did you mean "entries"? @ line 18, column 20.
             s3Upload(file:'out.txt', bucket:'mybucket', path:'out.txt')
                      ^

WorkflowScript: 18: Invalid parameter "bucket", did you mean "entries"? @ line 18, column 36.
             s3Upload(file:'out.txt', bucket:'mybucket', path:'out.txt')
                                      ^

WorkflowScript: 18: Invalid parameter "path", did you mean "entries"? @ line 18, column 69.
   ket:'mybucket', path:'out.
                                 ^

3 errors

    at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:310)
    at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1085)
    at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:603)
    at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:581)
    at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:558)
    at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298)
    at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268)
    at groovy.lang.GroovyShell.parseClass(GroovyShell.java:688)
    at groovy.lang.GroovyShell.parse(GroovyShell.java:700)
    at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.doParse(CpsGroovyShell.java:142)
    at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(CpsGroovyShell.java:127)
    at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(CpsFlowExecution.java:561)
    at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start(CpsFlowExecution.java:522)
    at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:337)
    at hudson.model.ResourceController.execute(ResourceController.java:97)
    at hudson.model.Executor.run(Executor.java:428)
Finished: FAILURE

Found a very similar github issue: github.com/jenkinsci/pipeline-aws-plugin/issues/227 – Michael Kemmerzell 23 hours ago

感谢@MichaelKemmerzell 无需重启即可安装 AWS Pipeline 插件,但这些 DSL 仅在完全重启 Jenkins 后才可用。