詹金斯管道sh returnStatus引发异常

时间:2019-04-11 14:21:29

标签: jenkins jenkins-pipeline sh pipeline

我正在尝试编写一个詹金斯声明性管道代码来执行Shell脚本并捕获代码的退出状态。当我尝试执行时,它将引发异常。

.

执行此操作时,我得到以下执行:

pipeline {
    stages {
        stage ('shcheck'){
            steps {
                echo 'Hello world - shcheck'
                status = sh(
                    returnStdout: true, 

                    script: '''#!/usr/bin/bash
                        echo 'testing sh'
                        exit 0
                    '''
                )

            }
        }

    }
}

我希望0存储在“ 状态”变量中。我不确定是否缺少任何插件或配置设置。

我是詹金斯(Jenkins)的新手,我们将不胜感激。

詹金斯版2.150.1

1 个答案:

答案 0 :(得分:0)

您的管道存在语法错误,导致验证失败。

  1. 缺少agent
  2. status = sh ()需要放入script

固定代码:

pipeline {
  agent any

  stages {

    stage ('shcheck'){
      steps {
        echo 'Hello world - shcheck'

        script {
          status = sh(
              returnStdout: true, 

              script: '''#!/usr/bin/bash
                  echo 'testing sh'
                  exit 0
              '''
          )
        }
      }
    }

  }
}