接收语法错误:“(”在我的Jenkins文件上意外(常规)

时间:2019-03-04 20:55:19

标签: jenkins groovy jenkins-pipeline

我正在尝试在Jenkins上运行的groovy文件中使用以下代码:

String cmd = "helm package my-test-chart ; file = sh (script: 'ls*.tgz',returnStdout: true).trim()"

但是我收到以下错误:

 Syntax error: "(" unexpected [Pipeline] }
 [Pipeline] // stage
 [Pipeline] }
 [Pipeline] // node
 [Pipeline] End of Pipeline
 ERROR: script returned exit code 2
 Finished: FAILURE

任何帮助将不胜感激,谢谢

3 个答案:

答案 0 :(得分:0)

我认为您的管道应该进行如下更改。

stage('xxxx') {
   steps {
      script {
        String cmd = "helm package my-test-chart"
        file = sh (script: 'ls*.tgz',returnStdout: true).trim()
      }
   }
}

答案 1 :(得分:0)

这是获取sh命令输出的正确方法:

variable_name = sh(script: " your shell command",
                   returnStdout: true)

从外观上看,我认为您混合了两种说法:

    String cmd = "helm package my-test-chart"
 file = sh (script: 'ls*.tgz',returnStdout: true).trim()

答案 2 :(得分:0)

我可能迟到了,但是当我遇到完全相同的问题时,我发现了这个问题,答案是这样的:我在詹金斯创建了一个“秘密zip”凭证,并指向一个zip夹。我的笔记本电脑。 zip的名称中带有括号-这就是错误的出处。当我重命名目标zip并更新Jenkins中的凭据时,一切正常。

因此,在您的情况下,某些地方突然出现了异常现象。可能是ls *.tgz