Мне нравится создавать этап в декларативном конвейере, только когда определенные файлы изменились. Это может быть достигнуто следующим конвейером:
pipeline {
agent any
stages {
stage('checkout') {
steps {
checkout scm
}
}
stage('build & push container') {
when {
anyOf {
changeset 'Dockerfile'
}
}
steps {
echo "Building..."
}
}
}
}
Не создается, когда создается новая ветвь, так как набор изменений все еще пуст в Jenkins, когда ветка создается впервые.
Как определить условие when
, которое создает stage
либо при изменении определенных файлов, либо при создании новой ветви?