我有一个包含以下内容的Packages.json文件:
{
"packages": {
"pkg1":{
"Cpu": "2",
"Memory": "8",
"Disk": "100"
},
"pkg2":{
"Cpu": "4",
"Memory": "16",
"Disk": "200"
}
}
}
我还有一个来自另一个阶段的环境变量env.VM_PACKAGE
.我想用这个Jenkins流从特定的包中获取CPU,内存,磁盘值:
stage('Parse package details') {
steps {
echo "Read packages JSON file"
script {
def props = readJSON file: "${WORKSPACE}/maintenance-vm/packages.json"
env.PACKAGE_CPU = props['packages'].props["${env.VM_PACKAGE}"].get("Cpu")
env.PACKAGE_MEMORY = props['packages'].props["${env.VM_PACKAGE}"].get("Memory")
env.PACKAGE_DISK = props['packages'].props["${env.VM_PACKAGE}"].get("Disk")
}
echo "Cpu: ${env.PACKAGE_CPU} Memory: ${env.PACKAGE_MEMORY} Disk: ${env.PACKAGE_DISK}"
}
}
例如,如果${env.VM_PACKAGE}
的值为pkg2
,则回声将写为:"Cpu: 4 Memory: 16 Disk: 200"
我试着使用单引号,双引号,${env.VM_PACKAGE}
左右没有引号,但没有运气.