yaml文件中的管道评估变量

时间:2019-09-07 05:18:06

标签: jenkins jenkins-pipeline jenkins-groovy

我有一个yaml文件,其中包含对在管道中定义的某些变量的引用。

阅读Yaml后,我需要一些方法来将该$评估为实际值。

yaml文件

chart_folder: test_chart_${my_suffix}
lint:
  enable: false

管道外观如下

pipeline{
    agent{
        label "my_node"
    }
    stages{
        stage("test"){
            steps{
                script {
                    def my_suffix = "test"    
                    def my_yaml = readYaml file: "my_file.yaml"
                    echo my_yaml.chart_folder
                }
            }
        }
    }
}

执行的输出是

....
[Pipeline] readYaml
[Pipeline] echo
test_chart_${my_suffix}
[Pipeline] }
....

,我想获取 chart_folder 作为评估字符串

....
[Pipeline] readYaml
[Pipeline] echo
test_chart_test
[Pipeline] }
....

我该怎么办?

1 个答案:

答案 0 :(得分:0)

您不能插值,但可以覆盖。

def my_yaml = readYaml file: 'my_file.yaml', text: "chart_folder: 'test_chart_test'"