Jenkins使用子字符串提取设置环境变量
试图设置使用另一个环境变量的子字符串提取的环境变量时遇到问题Jenkins使用子字符串提取设置环境变量,jenkins,jenkins-pipeline,Jenkins,Jenkins Pipeline,试图设置使用另一个环境变量的子字符串提取的环境变量时遇到问题 pipeline { agent any environment { NODE_BASE_NAME = "ui-node-${GIT_COMMIT:0:6}" } stages { stage ("test") { steps { echo "${NODE_BASE_NAME}"
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}"
在Groovy中执行子字符串的内在方法是
stringsubstring(int-beginIndex,int-endIndex)
。因此,使用GIT\u COMMIT
子字符串插入分配给NODE\u BASE\u NAME
的字符串的正确语法是:
environment {
NODE_BASE_NAME = "ui-node-${GIT_COMMIT.substring(0, 6)}"
}