jenkinsfile设置带子串提取的环境变量

问题描述 投票:1回答:1

尝试设置使用另一个环境变量的子串提取的环境变量时遇到问题。

pipeline {
    agent any
    environment {           
        NODE_BASE_NAME = "ui-node-${GIT_COMMIT:0:6}"
    }
    stages {
        stage ("test") {
            steps {
                echo "${NODE_BASE_NAME}"
            }
        }
    }
}

结果是

WorkflowScript: 4: expecting '}', found ':' @ line 4, column 49.
   NAME = "ui-node-${GIT_COMMIT:0:6}"
jenkins jenkins-pipeline
1个回答
2
投票

在Groovy中执行子字符串的内在方法是String substring(int beginIndex, int endIndex)。因此,使用NODE_BASE_NAME子字符串插入分配给GIT_COMMIT的字符串的正确语法是:

environment {           
  NODE_BASE_NAME = "ui-node-${GIT_COMMIT.substring(0, 6)}"
}
© www.soinside.com 2019 - 2024. All rights reserved.