我在groovy中有以下代码:
void call(Closure closure) {
pod_template_maven_image = ...
pod_template_maven_m2 = ...
pod_template_nodejs_image = ...
pod_template_sonar_image = ...
toleration_condition = true
def yaml_config = ""
if(toleration_condition){
yaml_config = """
spec:
tolerations:
- key: "my_toleration"
operator: "Equal"
value: "value1"
effect: "NoSchedule"
"""
}
podTemplate(containers: ...,
volumes: ...,
etc...,
yaml: yaml_config,
yamlMergeStrategy: merge()) {
node(POD_LABEL) {
closure()
}
}
}
目前,当我在jenking中运行这个作业时,没有任何React,pod被创建,没有错误,但是yaml没有被添加到pod中。
我们希望根据toleration_condition值在podTemplate中添加容差(yaml_config)。
我是这方面的新手,如果可能的话,我不知道。是吗?最好的方法是什么?
谢谢。
1条答案
按热度按时间kg7wmglp1#
inheritFrom
,可能会提供一种更简洁的方式来实现所需的结果。这里我们还将yamlMergeStrategy
保留为默认值(override()
)。*我发现提供给
yaml:
的“delta yaml”(yaml_config
)的缩进会影响最终结果(尾随和开始换行符也会有影响),所以我建议使用yaml_config
进行测试,如下所示: