#jenkins
Вопрос:
Я пытаюсь установить имя сборки/описание сборки на основе результатов сценария оболочки. Например, я выполняю следующие строки в оболочке:
echo `date`
if [ $test == true ]then
echo "BuildSuccess"
else
echo "NoBuild"
fi
Затем я запускаю шаг сборки «Изменяет описание сборки». В этом я добавил макрос:
${BUILD_LOG,maxLines=1}
После выполнения задания я получаю результат в виде:
[SSH] executing...
Thu May 20 00:47:42 PDT 2021
BuildSuccess
[SSH] completed
[SSH] exit-status: 0
New run description is '[...truncated 478 B...]
'
Evaluated macro: '#37'
New run name is '#37'
Finished: SUCCESS
Может ли кто-нибудь помочь мне понять, почему макрос оценивается как […усеченный 478 B…]?
Есть ли способ, которым я могу записать текст «BuildSuccess» из журнала? По сути, я пытаюсь захватить последнюю строку журнала сборки.
Пожалуйста, обратите внимание, что это фристайл-проект, а не конвейер.
Ответ №1:
Я решил аналогичную проблему,:
BUILD_LOG_REGEX
- плагин email-ext
Вот учебное пособие http://siddesh-bg.blogspot.com/2012/04/using-buildlogregex-in-jenkins-email.html .
С помощью BUILD_LOG_REGEX
вышеупомянутого плагина можно запрашивать и извлекать части журнала сборки.
Комментарии:
1. Большое спасибо за помощь @Antonio Petricca! Я пробовал это раньше, но это не работало. Трюк, который я пропустил, заключался в использовании showTruncatedLines=false