Jenkins Groovy字符串插值未正确传递
我正在尝试使用Jenkins Groovy字符串插值未正确传递,jenkins,jenkins-groovy,Jenkins,Jenkins Groovy,我正在尝试使用sh在Jenkins中运行命令。以下是我的工作: ecsOracleClusterName = "foo" ecsServiceName = sh(returnStdout: true, script: 'aws ecs list-services --cluster "${ecsOracleClusterName}" --region us-east-1').trim() 我注意到,ecsOracleClusterName显示为空。不确定为什么会发生这种情况,但在Jenkins
sh
在Jenkins中运行命令。以下是我的工作:
ecsOracleClusterName = "foo"
ecsServiceName = sh(returnStdout: true, script: 'aws ecs list-services --cluster "${ecsOracleClusterName}" --region us-east-1').trim()
我注意到,ecsOracleClusterName
显示为空。不确定为什么会发生这种情况,但在Jenkins,我收到了以下错误消息:
+ aws ecs list-services --cluster --region us-east-1
An error occurred (ClusterNotFoundException) when calling the ListServices operation: Cluster not found.
如您所见,cluster name变量没有传递该值。这让我相信字符串插值存在问题(或者至少我是如何实现它的)。有人能告诉我这里发生了什么吗?试着用这样的双引号
ecsOracleClusterName = "foo"
ecsServiceName = sh(returnStdout: true, script: "aws ecs list-services --cluster $ecsOracleClusterName --region us-east-1").trim()
println "Service name: ${ecsServiceName}"
试着像这样使用双引号
ecsOracleClusterName = "foo"
ecsServiceName = sh(returnStdout: true, script: "aws ecs list-services --cluster $ecsOracleClusterName --region us-east-1").trim()
println "Service name: ${ecsServiceName}"
如果我这样做,我是否需要在变量中添加开始括号和结束括号?不,完全按照写的方式尝试。如果我这样做,我是否需要在变量中添加开始括号和结束括号?不,完全按照写的方式尝试