【问题标题】:How do I get ArtifactoryMavenBuild to run with a variable name as an argument for declarative Jenkins?如何让 ArtifactoryMavenBuild 以变量名作为声明性 Jenkins 的参数运行?
【发布时间】:2017-07-12 02:05:15
【问题描述】:

我正在尝试使用声明性语法编写 Jenkins 管道(如果我真的无法取得任何进展,我将切换到脚本)。但是,我不知道如何将函数的返回值存储到变量中,因此我可以将该变量用作下一个函数的参数。

我的管道阶段如下所示:

stage ('Build') {
   steps {
      def artServer = getArtifactoryServer(artifactoryServerID: 'my-server')
      def mvBuild = newMavenBuild()
      def buildInfo = newBuildInfo()
      ArtifactoryMavenBuild(mavenBuild: mvBuild, tool: "M3", pom: "pom.xml", goals: "-B clean test -Dmaven.test.failure.ignore", opts: "", buildInfo: buildInfo)
   }
}

我的错误日志是:

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 19: Expected a step @ line 19, column 17.
                   def artServer = getArtifactoryServer(artifactoryServerID: 'GE-Propel-Artifactory')
                   ^

WorkflowScript: 20: Expected a step @ line 20, column 17.
                   def mvBuild = newMavenBuild()
                   ^

WorkflowScript: 21: Expected a step @ line 21, column 17.
                   def buildInfo = newBuildInfo()

ArtifactoryMavenBuild 函数在我这样说时起作用:

ArtifactoryMavenBuild(mavenBuild: newMavenBuild(), tool: "M3", pom: "pom.xml", 目标: "-B clean test -Dmaven.test.failure.ignore", opts: "", buildInfo: newBuildInfo ())

但我需要能够再次引用 mvBuild 和 buildInfo 以供后续步骤使用。

Artifactory 插件的声明式 jenkins 文档在这里:https://jenkins.io/doc/pipeline/steps/artifactory/

【问题讨论】:

    标签: jenkins groovy jenkins-pipeline artifactory


    【解决方案1】:

    尝试将您的脚本代码包装到 script {} 步骤中,如下所示:

    stage ('Build') {
      steps {
        script {
           def artServer = getArtifactoryServer(artifactoryServerID: 'my-server')
           def mvBuild = newMavenBuild()
           def buildInfo = newBuildInfo()
           ArtifactoryMavenBuild(mavenBuild: mvBuild, tool: "M3", pom: "pom.xml", goals: "-B clean test -Dmaven.test.failure.ignore", opts: "", buildInfo: buildInfo)
        }
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-24
      • 1970-01-01
      • 2019-03-26
      • 1970-01-01
      • 1970-01-01
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多