在Groovy中编写/修改* .yaml文件的最佳方法是什么?
我想在jenkins管道作业中修改yaml文件中维护的版本。使用readYaml
我可以获取内容,但是如何将其重新写回来?
我想到的一种方法是在文件上执行sed
。但我认为这不太准确。
答案 0 :(得分:0)
如果您只需要更新yaml文件中的版本,那么您只需阅读内容,执行字符串替换并回写到您的文件。
例如,这是一个单元测试,用于演示:
假设src/test/resources
包含文件version.yaml
,如下所示:
version: '0.0.1'
anotherProperty: 'value'
@Test
void replaceVersion() {
File yaml = new File("src/test/resources/version.yaml")
println yaml.text
String newVersion = "2.0.0"
yaml.text = yaml.text.replaceFirst(/version: '.*'/, "version: '${newVersion}'")
println yaml.text
}