У меня есть Jenkinsfile, который содержит несколько логических проверок для фиксации в Github, и только после того, как определенные критерии будут выполнены, он запустит задание по компоновке. Соответствующие части Jenkinsfile ниже:
script {
if (... a bunch of conditions) {
echo 'Building because of on-demand job!'
build job: '/my/downstream/job', parameters: [gitParameter(name: 'BRANCH', value: env.BRANCH_NAME),
gitParameter(name: 'GIT_BRANCH', value: env.GIT_LOCAL_BRANCH)], wait: true, propagate: true
}
echo 'Skipping'
currentBuild.result = 'NOT_BUILT'
}
Однако, в моем пользовательском интерфейсе Github, каждый раз, когда задание пропускается, оно отображается как сбой. Например, когда сделан коммит, который не удовлетворяет условию, Jenkins правильно пропускает сборку:
Однако в истории коммитов Github это проявляется как сбой:
Я знаю, что это несколько тривиально и буквально только для внешности, но довольно обидно видеть так много красных иксов. Лучшее решение - просто переключить currentBuild.result
на SUCCESS
? Я несколько не решаюсь сделать это, поскольку технически это не является успехом (ничего не было построено), но я не вижу другого способа заставить Github не пометить его как неудачный.