Ошибка конвейера Jenkins - Неизвестный раздел этапа "sh" и этапы этапа должны находиться в блоке этапов - PullRequest
0 голосов
/ 05 июня 2018

У меня было что-то почти идентичное этому, и оно работало нормально, и теперь я получаю ошибки ниже.У меня есть parallel, steps и stages все там.

Ошибка:

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
WorkflowScript: 23: Unknown stage section "sh". Starting with version 0.5, steps in a stage must be in a steps block. @ line 23, column 7.
         stage('build api image') {
         ^

WorkflowScript: 26: Unknown stage section "sh". Starting with version 0.5, steps in a stage must be in a steps block. @ line 26, column 7.
         stage('build view image') {
         ^

WorkflowScript: 20: No "steps" or "parallel" to execute within stage "gradle test" @ line 20, column 7.
         stage('gradle test') {
         ^

WorkflowScript: 23: No "steps" or "parallel" to execute within stage "build api image" @ line 23, column 7.
         stage('build api image') {
         ^

WorkflowScript: 26: No "steps" or "parallel" to execute within stage "build view image" @ line 26, column 7.
         stage('build view image') {

pipeline {
    agent any

    stages {
      stage('run test cases in modules') {
            steps {
              parallel(
              "Gradle clean": {
                  sh "./gradlew clean"
               },
                "api-service-tests": {
                  sh "./gradlew api:test"
                },
                "cache-api-tests": {
                  sh "./gradlew view:test"
                }
              )
            }
      }
      stage('gradle test') {
            // sh "./gradlew --no-daemon test"
      }
      stage('build api image') {
            sh "oc start-build cms-api --from-dir=api/docker --follow"
      }
      stage('build view image') {
            sh "oc start-build  --from-dir=view --follow"
      }
    }

}

1 Ответ

0 голосов
/ 05 июня 2018

Вы пропускаете директиву steps внутри других директив стадии.

stage('gradle test') {
  // sh "./gradlew --no-daemon test"
}

Должно быть что-то вроде:

stage('gradle test') {
  steps {
    sh "./gradlew --no-daemon test"
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...