Как запустить задание для каждой конфигурации в матричном проекте

Мне нужно добиться следующего: у меня есть многоконфигурационный проект A, имеющий две конфигурации C1 и C2, теперь для каждой успешной конфигурации я хочу построить другой проект B, скажем:

  • если C1-успех и C2-неудача, то C1 -> B
  • если C1-неудача и C2-удача, то C2 -> B
  • если C1-success и C2-success, то C1 -> B, а затем C2 -> B (одновременно может работать только один экземпляр B)

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

1 ответ

Вы можете использовать параметризованный плагин триггера для запуска задания B в конце C и передачи параметра в B, который является именем параметра матрицы в C - он назван в честь имени метки

Что касается одновременного выполнения нескольких заданий B, если вы оставите флажки в параллельных запусках, если это необходимо, в задании B не будет установлен флажок, все будет в порядке.


РЕДАКТИРОВАТЬ

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

Use of the plugin in a Matrix job
Post build task
When using the trigger parameterized build as a post build task for a matrix job the
triggering will be be done
once when all of the different matrix configurations have completed.
In this case some of the Environment variables may not be resolvable as passing them 
to downstream jobs will fail.

Environment variables that should be available are the the default shell ones
(<yourserver:port>/env-vars.html) and ones defined as Parameters.
Variables added by the other plugins as a buildwrappers may not be available.

Build step
When using the trigger parameterized build as a buildstep it will be called for 
every different configuration, so if triggering another project with no parameters it 
will be done the same number of times as you have configurations, possible causing the
triggered job to run more than once.

However this also allows you to trigger other jobs with parameters relating to the 
current configuration, i.e. triggering a build on the same node with the same JDK.
Другие вопросы по тегам