尝试设置使用另一个环境变量的子串提取的环境变量时遇到问题。
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中执行子字符串的内在方法是String substring(int beginIndex, int endIndex)
。因此,使用NODE_BASE_NAME
子字符串插入分配给GIT_COMMIT
的字符串的正确语法是:
environment {
NODE_BASE_NAME = "ui-node-${GIT_COMMIT.substring(0, 6)}"
}