2017-02-20 6 views
1

У меня есть родительский jenkins multijob, который вызывает 3 дочерних задания, передавая детям те же параметры, с которыми был создан родитель. Каждый ребенок должен использовать одну и ту же метку времени, поскольку это уникальный идентификатор, который каждый ребенок должен искать на веб-странице.

Моя проблема заключается в следующем: Когда родитель построен, параметр «name» установлен в значение $ {BUILD_TIMESTAMP}, позволяет называть это «02201200» коротким 20 февраля, 12:00. Каждый ребенок вызывается с «текущими параметрами задания прохождения». Однако вместо каждого получателя 02201200 каждый получает $ {BUILD_TIMESTAMP} и снова получает это значение (например, 02201204).

Как заставить родителя оценивать $ {BUILD_TIMESTAMP} и передавать его оценку детям вместо самой переменной?

+0

Вы решили свою проблему? Нынешнее решение не подходит для моего сценария. благодаря – Robinho

ответ

0

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

Я использовал этот метод, а также в итоге сохранил все метаданные (переменные системы/среды, параметры jenkins и свойства сборки и т. Д.) В файл свойств и даже архивировал их. Этот подход упрощает/работает вокруг многих проблем, которые у меня были. Теперь каждая сборка имеет свои метаданные, архивированные, для нисходящих заданий или более поздних ссылок, я могу получить всю необходимую информацию из этого одного файла; никакие дополнительные параметры не должны быть переданы.

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