首页 > 解决方案 > 注入 IF 条件 Jenkinsfile

问题描述

尝试创建 Jenkins 作业以删除 Kubernetes 对象。

shell脚本可以正常工作,例如

kubectl delete service \$(kubectl get service | grep ${rescName} | awk \'{print \$1}\')"

我遇到的问题是第二次运行它失败并出现错误

error: resource(s) were provided, but no name, label selector, or --all flag specified

如何传入 if 语句,以便在运行kubectl delete service命令之前首先检查服务是否存在,如果不存在则打印出一条消息,而不是出错和失败。

标签: if-statementjenkinskubernetesjenkins-pipeline

解决方案


要使用 IF 循环,最好在管道中使用 sh 步骤:

stage ('some text here') {
  steps {
    sh """
      if ... 
      do 
      else
      done
    """
  }
}

推荐阅读