这是我的管道的结构:
def call(String microservice_param) {
pipeline {
environment {
MICROSERVICE_NAME = "${microservice_param}".split("-")[1]
}
}
我想操作字符串参数,如上所示,但出现此错误:
Environment variable values can only be joined together with ‘+’s.
有没有办法做到这一点?
答案 0 :(得分:0)
虽然我不喜欢自己的解决方案,但它确实有效: 定义一个新变量,并将其设置在管道块之前,并在您的环境中使用它。
def call(String microservice_param) {
def microserv_name = microservice_param.split("-")[1]
pipeline {
environment {
MICROSERVICE_NAME = "${microserv_name}"
}
.
.
.
}
}
找不到更好的解决方案-也许有人会在这里提供。 假设您将使用更多的参数,则将为每个参数创建一个新变量,并在Environment指令中使用它。我们这样做是为了在共享库声明性管道代码中使用,但是将Map用作call参数。