[英]write yaml file in jenkins with groovy
在Groovy中编写/修改* .yaml文件的最佳方法是什么?
我想在我的jenkins管道作业中修改yaml文件中维护的版本。 使用readYaml
我可以获取内容,但是如何将其重新写回来?
我想到的一种方法是在文件上做一个sed
。 但我认为那不是很准确。
Pipeline Utility Steps插件具有readYaml
和writeYaml
步骤以与YAML文件交互。 默认情况下, writeYaml
不会覆盖您的文件,因此您必须先将其删除。
def filename = 'values.yaml'
def data = readYaml file: filename
// Change something in the file
data.image.tag = applicationVersion
sh "rm $filename"
writeYaml file: filename, data: data
如果您只需要更新yaml文件中的版本,那么您只需读取内容,执行String替换并回写到您的文件。
举个例子,这是一个单元测试,用于演示:
假设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
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.