Вернуть прогресс в трубопровод Jenkins sh step - PullRequest
0 голосов
/ 26 декабря 2018

Я разрабатываю задание Jenkins с использованием плагина Pipeline.

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

Вот пример: enter image description here

Последний шагмоей работы (Run) очень долго.Этот шаг запускает некоторую служебную программу, которая может оценить ее прогресс, и в настоящее время выводит ее на стандартный вывод.

Так что я могу открыть журналы с этого шага и посмотреть фактический прогресс.

Однако этот прогресс не совпадает с оценкой Дженкинса.

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

1 Ответ

0 голосов
/ 27 декабря 2018

Вы можете решить свою проблему, переписав длительный шаг в Groovy и добавив распечатки между короткими шагами.

Вместо, например,

stage('very_long_stage') { steps { script { println "Running very long stage" sh "make all" } } }

васможет иметь, например,

stage('very_long_stage') { steps { script { println "Running long step 1" sh "make one" println "Running long step 2" sh "make two" // etc. } } }

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