【问题标题】:how to set string input default value when the input value is null in jenkins pipelinejenkins管道中输入值为null时如何设置字符串输入默认值
【发布时间】:2023-03-26 23:27:01
【问题描述】:

我在 Jenkins 管道(groovy 脚本)中设置了一个字符串参数,如下所示:

def call(String type, Map map) {
    if (type == "gradle") {
        pipeline {
            agent any
            parameters {
                string(name: 'k8sResourceType', defaultValue: "${map.k8sResourceType}", description: 'Kubernetes Resource Type')
            }
    }
}

${map.k8sResourceType} 为空时是否可以设置默认值?如果 ${map.k8sResourceType} 为 null,则将 Kubernetes 资源类型设置为 Deployment。因为 Kubernetes 中 90% 的应用程序是 Deployment,只有特殊应用程序是 StatefulSet。我是 groovy 的新手。

【问题讨论】:

    标签: jenkins


    【解决方案1】:

    你最好使用environment 而不是parameters 来实现你想要的

    pipeline {
        agent any
        environment {
                k8sResourceType = getResourceType(map.k8sResourceType)
        }
        stages {
            stage('Hello World') {
                steps {
                        echo "Value: ${env.k8sResourceType}"
                }
            }
        }
    }
    
    def getResourceType(value) {
        return value == null ? "Deployment" : value
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-07
      相关资源
      最近更新 更多