Конвейер Jenkins InputStep - PullRequest
0 голосов
/ 06 мая 2020

Я столкнулся с одной проблемой с конвейером входных шагов Jenkins.

У нас есть требование выполнить сценарий оболочки из конвейера Jenkins. Этот сценарий оболочки ожидает «Да / Нет» до go несколько раз при выполнении. Образец кода, как показано ниже

 #Shell Script
    #!/bin/ksh
    echo -n "THERE WERE SOME ERRORS IN THE FILE.HAVE YOU CORRECTED AND RERAN ? (Y/N)"
    read answer
    if [ "$answer" != "${answer#[Yy]}" ] ;then
        return to some function to execute 

    else
        echo "PLEASE CORRECT IT"
        exit 1
    fi

Итак, когда я искал в Google, я получил предложение использовать плагин шага ввода и сделал код, как показано ниже, в конвейере Jenkins

pipeline {
    agent { label 'label1' }
    stages {
        stage("Deploy_test") {
            steps {
                script {
                    sshPublisher(publishers: [sshPublisherDesc(configName: 'server1', sshCredentials: [encryptedPassphrase: '{AQAAABAAAAAQo3zt62+U0fg3HK38KCicJmlUdejgO3IgqUVv}', key: '', keyPath: '', username: 'user1'], transfers: [sshTransfer(cleanRemote: false, excludes: '', execCommand: '''set -x
/Auto_Deploy/Scripts/jenkins_commands.sh ''', execTimeout: 120000, flatten: false, makeEmptyDirs: false, noDefaultExcludes: false, patternSeparator: '[, ]+', remoteDirectory: '/Auto_Deploy/Scripts/', remoteDirectorySDF: false, removePrefix: '', sourceFiles: '')], usePromotionTimestamp: false, useWorkspaceInPromotion: false, verbose: false)])
 inp_val1 = input message: 'THERE WERE SOME ERRORS IN THE FILE.HAVE YOU CORRECTED AND RERAN ? (Y/N)',
                            parameters: [choice(name: 'inp_val1', choices: 'Y', description: 'N')]
                }

            }
        }
    }    
}

Но в приведенном выше случае шаг входного параметра выполняется после выполнения сценария оболочки. Я хочу остановить выполнение конвейерной линии, когда я когда-либо получил команду ниже в сценарии оболочки

echo -n "THERE WERE SOME ERRORS IN THE FILE.HAVE YOU CORRECTED AND RERAN ? (Y/N)" 

, принял пользовательский ввод и продолжил выполнение сценария оболочки в соответствии с вводом пользователя.

Не могли бы вы пожалуйста, предложите, как go на этом?

Это не обязательно, я должен использовать только конвейер входных шагов. У нас все в порядке, если мы выполним наши ожидаемые требования с другими вариантами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...