Как упомянуто в комментарии @evolutionxbox, этапы всегда будут выполняться последовательно.В идеале у вас должны быть разные задания для разных этапов, потому что если вы никогда не собираетесь использовать все этапы в одном задании, тогда это превосходит всю цель этапов.Вы можете иметь их в общем jenkinsfile, если хотите, и иметь, если блокируете этапы, такие как:
if(env.PARAM=="Value"){
stage('required stage'){
//code
}
}
Или вы можете вызывать различные функции в зависимости от вашего состояния в одном файле:
stage('common'){
if(env.PARAM=="Value"){
commons.funct1()
}
}
здесь переменная commons загружает другой файл (def commons=load('somefile.groovy')
).