0

这是我的管道的结构:

def call(String microservice_param) {

pipeline {
    environment {
        MICROSERVICE_NAME = "${microservice_param}".split("-")[1]
    }
}

我想如上所示操作字符串参数,但出现此错误: Environment variable values can only be joined together with ‘+’s.

有没有办法做到这一点?

4

1 回答 1

0

虽然我不喜欢我自己的解决方案,但它确实有效:定义一个新变量并在您的管道块之前设置它并在您的环境中使用它。

def call(String microservice_param) {
  def microserv_name = microservice_param.split("-")[1]
  pipeline {
    environment {
    MICROSERVICE_NAME = "${microserv_name}"
    }
  .
  .
  .
  }
}

还没有找到更好的解决方案 - 也许有人会在这里提供。假设您将使用更多参数,您将为每个参数创建一个新变量并在 Environment 指令中使用它。我们这样做是为了在共享库声明性管道代码中使用,但使用 Map 作为调用参数。

于 2018-10-30T01:12:33.997 回答