#jenkins
#дженкинс
Вопрос:
Я не уверен, как бы я распутал этот шаг в декларативном файле Jenkinsfile. Мне сказали, что у вас не может быть скрипта внутри скрипта, поэтому я ищу помощь в том, как это можно реорганизовать.
stage('Publish Procurement') {
steps {
script: '''
if (0 != sh(script: "git diff --exit-code modules/procurement", returnStatus: true)) {
node_modules/.bin/ng build test-library
cd modules/test-library/dist/
node_modules/.bin/ng test test-library
}
'''
}
}
Я ценю любую предоставленную помощь.
Ответ №1:
Попробуйте это :
stage('Publish Procurement') {
steps {
returnCode = sh(script: "git diff --exit-code modules/procurement", returnStatus: true)
if ( 0 != returnCode){
script: '''
node_modules/.bin/ng build test-library
cd modules/test-library/dist/
node_modules/.bin/ng test test-library
'''
}
}
}
Вы всегда можете сохранить вывод sh в переменной, а затем использовать эту переменную для выполнения любых допустимых операций.
Комментарии:
1. Спасибо за помощь в этом