我有以下代码更新Yaml文件中的值
import org.yaml.snakeyaml.Yaml
String version = "1.0.0"
def data = readYaml file: "Chart.yaml"
data.name = "myApp"
// The version needs to be in double-quotes
data.appVersion = ""${version}""
sh "rm Chart.yaml"
writeYaml file: "Chart.yaml", data: data
sh "cat Chart.yaml"
所以我需要Chart.yaml
文件来进行
appVersion = "1.0.0"
然而,上面的代码用额外的单引号来表达这一点。
appVersion = '"1.0.0"'
的结果相同
data.appVersion = '"'+version+'"'
如果我只有这个
data.appVersion = "${version}" // just string interpolation in this case
然后我当然得到这个,没有报价
appVersion = 1.0.0
以下是我根据Unforgetable631的建议所做的。
import org.yaml.snakeyaml.Yaml
String version = "1.0.0"
def data = readYaml file: "Chart.yaml"
data.name = "myApp"
// The version needs to be in double-quotes
data.appVersion = version
sh "rm Chart.yaml"
writeYaml file: "Chart.yaml", data: data
sh """
cat Chart.yaml
sed -i "s/$version/\"$version\"/g" Chart.yaml
cat Chart.yaml
"""