用groovy在jenkins中写yaml文件

时间:2017-03-31 12:41:56

标签: jenkins groovy yaml jenkins-pipeline

在Groovy中编写/修改* .yaml文件的最佳方法是什么?

我想在jenkins管道作业中修改yaml文件中维护的版本。使用readYaml我可以获取内容,但是如何将其重新写回来?

我想到的一种方法是在文件上执行sed。但我认为这不太准确。

1 个答案:

答案 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
}