Комбинированный фильтр Дженкинса с Groovy скриптом - PullRequest
0 голосов
/ 24 января 2019

У меня есть проект мультиконфигурации Jenkins с двумя переменными для объединения:

  1. версия (от оси матрицы сборки)

    1.2
    1.3
    
  2. платформа (параметр сборки)

    ubuntu
    windows
    

Некоторые комбинации поддерживаются, другие нет. Их гораздо больше, чем указано выше, но здесь мы постараемся упростить это.

Я пробовал комбинированные фильтры, такие как:

    (platform == "windows" && version == "1.1") || (platform == "windows" && version == "1.2") ...

Но со многими комбинациями они становятся очень длинными и сложными. Я хотел бы иметь возможность просто прочитать список разрешенных платформ для каждой версии из файла. Фильтр тогда будет простым поиском в стиле карты на основе содержимого файла. Например, «вернуть версии [версия] .contains (платформа)».

Я подумал об использовании однострочного комбинированного фильтра для чтения файла как скрипта Groovy и его запуска. Не могу понять, что один вкладыш.

В этом ответе предлагалось ввести в качестве фильтра параметр «оценивать (paramName)». Поместите более сложный скрипт Groovy в это «paramName» и используйте его для чтения файла сопоставления и т. Д. Я не знаю, как я могу вставить такой параметр для оценки.

Плагин Groovy Execution Strategy похоже, что он может работать. Но я не совсем уверен, как написать это с этим. Как мне объединить мои переменные и файл сопоставления в этом плагине и что вернуть?

В конечном счете, я бы предпочел иметь возможность использовать поддержку комбинированного фильтра по умолчанию, поэтому я также мог бы повторно использовать его в плагине Matrix Comb комбинаций в качестве ярлыка выбора (он поддерживает комбинированный фильтр).

Так что предпочитайте простой комбинированный фильтр, но при необходимости можете использовать другие подходы. Цель состоит в том, чтобы отфильтровать разрешенные комбинации.

Есть идеи?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...