Я хочу определить несколько этапов в синтаксисе декларативного конвейера Jenkins, который может продолжаться после сбоя любого из них. Я не могу найти ни одного существующего вопроса, который является истинным дубликатом, потому что все они предполагают или разрешают скриптовый синтаксис.
pipeline {
agent any
stages {
stage('stage 1') {
steps {
echo "I need to run every time"
}
}
stage('stage 2') {
steps {
echo "I need to run every time, even if stage 1 fails"
}
}
stage('stage 3') {
steps {
echo "Bonus points if the solution is robust enough to allow me to continue *or* be halted based on previous stage status"
}
}
}
}
Чтобы уточнить, я не ищу, как сделать это с помощью скриптового синтаксиса. Я пытаюсь понять, поддерживается ли этот вид управления потоком и формализован ли он в декларативном синтаксисе. С этой целью я постараюсь точно определить, что я ищу:
Необходимый
- Нет попытки / уловить. Я не хочу опускаться в режим сценария или «оборачивать» свой декларативный конвейер в другой разделяемой библиотеке или блоке сценария.
- Никаких махинаций. Я хочу действительно нескольких этапов, а не одного этапа с
post always
этапом, который содержит всю мою остальную логику
По желанию
- Неудачный этап следует признать несостоявшимся; Я не хочу, чтобы неудавшийся этап отображался зеленым, потому что он был «пропущен» или «продолжен».
- Сборка с любой неудачной стадией должна быть помечена красным (или желтым, или другим, кроме зеленого).
try/catch
. 2) Думая о Maven с его декларативными POM, если одна фаза (этап) выходит из строя, вся сборка терпит неудачу, без шанса преодолеть это, кроме устранения причины и повторной попытки. [продолжение следует] - person Gerold Broser   schedule 11.07.2017