Параллельные этапы Дженкинса игнорируют оператор when

#jenkins #continuous-deployment

#Дженкинс #непрерывное развертывание

Вопрос:

Я реализую параллельный этап для части «развертывания» моего конвейера, где некоторые среды ограничены тегами git.

По неизвестной причине, поскольку я поместил этап ‘b’ в оператор parallel, он отображается все время, а не ограничивается оператором when.

Есть идеи, как это исправить?

Вот пример моего файла Jenkins:

     stage('Deploy') {
        parallel {
            stage('a') {
                agent any
                input {
                    message "Deploy to a?"
                }
                steps {
                    echo "a"
                }
            }

            stage('b') {
                agent any
                when {
                    beforeAgent true
                    tag "release/*"
                }
                input {
                    message "Deploy to b?"
                }
                steps {
                    echo "b"
                }
            }
        }
    }
  

Ответ №1:

Мой плохой, похоже, проблема возникает на этапе, а не в параллельном операторе.

Я решил это, добавив beforeInput true в when этапа ‘b’, этап все еще отображается, но без шага.

Также похоже, что это нарушает пользовательский интерфейс blue ocean, поскольку предотвращает ввод на этапе «a»