если у тебя сплошной башизм - да, скриптед удобнее, но в этом случае можно вынести весь баш в отдельный файл и вызывать его. В нормальных же случаях мы работаем с модулями и плагинами, а они вполне себе декларативны.
я про логику пайплайна. Башизм там не причём.
Я не знаю что тут ещё обсуждать.
Повторю свою мысль - CI имеет императивную природу. Используя декларатив в CI, ты на самом деле прогаешь императивно, только с ограниченнием декларатива. Это не тоже самое, что например описывать состояние, к которому следует прийти. Например как в terraform, puppet, k8s. А просто императивный скрипт, описанный декларативно.
Модули и плагины вполне себе императивны. Например, ты пишешь в коде не "здесь должна лежать склоненная репа", ты пишешь : "склонируй мне репу туда то"
Пропускать стейджы можно в scripted, пишешь стейдж внутри if, или я не понял о чем речь
Моё личное ИМХО, не претендую на истину