2013-02-15 3 views
5

Я использую работу mutli-configuration с последовательным выполнением. 2 оси: - подчиненные - пользовательскиеmulti-configuration jenkins job order

Jenkins выполняет мою работу в случайном порядке.

Есть ли способ исправить этот заказ? Почему jenkins не использует порядок используемой переменной (первая строка первая)?

рассматривает

ответ

1

Согласно странице 267 Jenkins: The Definitive Guide Джона Смарт, Дженкинс будет использовать значение оси таким же образом, как значения параметров, но при запуске задание будет выполняться один раз на каждое значение оси.

Порядок для этих значений не является фиксированным (и может быть случайным, я не уверен). Предположительно, предположения здесь состоят в том, что имеется достаточно ведомых устройств, которые могут выполнять каждая перестановка с помощью другого подчиненного устройства и что порядок перестановок не имеет значения. Я говорю перестановки, потому что, если имеется более одной оси, общее число построений соответствует декартовому произведению осей.

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

2

Для этого можно использовать Matrix configuration sorter plugin [1]. После установки плагина, вы получите возможность Execution order of builds со следующими значениями, чтобы выбрать из:

  • Не все равно
  • Предполагаемой продолжительности сборки (самой длинной первой)
  • Предполагаемой продолжительности сборки (кратчайшего первой)
  • Последняя ось заказать

Выбор последнего варианта необходимо заказать рабочие места так, как они указаны на оси, но только для последнего.

[1] https://wiki.jenkins-ci.org/display/JENKINS/Matrix+configuration+sorter+plugin