【问题标题】:Jenkins groovy error java.lang.IllegalArgumentException: Expected named arguments but got [{returnStatus=true} ...]Jenkins groovy 错误 java.lang.IllegalArgumentException: Expected named arguments but got [{returnStatus=true} ...]
【发布时间】:2020-04-13 10:31:37
【问题描述】:

我试图在 Jenkins DSL 管道中运行以下代码,但出现错误,可能是什么问题

Closure test = { dockerImageName ->
    sh('''cd ''' + dir + ''' \
        && if make image ''' + dockerImageName + ''' 2>&1 | grep -m 1 "No rule to make target"; then exit 1; fi''',
        returnStatus: true
    )
}

错误

java.lang.IllegalArgumentException: Expected named arguments but got [{returnStatus=true}, cd dir && if make image docker-xxx.com/dir 2>&1 | grep -m 1 "No rule to make target"; then exit 1; fi]

【问题讨论】:

    标签: jenkins groovy closures jenkins-groovy jenkins-job-dsl


    【解决方案1】:

    您错过了为第一个参数提供参数名称,请尝试以下操作:

    Closure test = { dockerImageName ->
        sh(script: '''cd ''' + dir + ''' \
            && if make image ''' + dockerImageName + ''' 2>&1 | grep -m 1 "No rule to make target"; then exit 1; fi''',
            returnStatus: true
        )
    }
    

    【讨论】:

      猜你喜欢
      • 2020-09-20
      • 2019-09-30
      • 1970-01-01
      • 1970-01-01
      • 2022-12-30
      • 2021-03-01
      • 2021-07-28
      • 2021-05-02
      • 2018-07-09
      相关资源
      最近更新 更多