Я столкнулся с одной проблемой с конвейером входных шагов 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 на этом?
Это не обязательно, я должен использовать только конвейер входных шагов. У нас все в порядке, если мы выполним наши ожидаемые требования с другими вариантами.