Как прикрепить журнал сборки к уведомлению по электронной почте с помощью плагина Jenkins Email-ext? - PullRequest
12 голосов
/ 19 декабря 2011

В версии 2.15 плагина Jenkins Email-ext добавлена ​​поддержка прикрепления файлов для создания уведомлений по электронной почте.Я хотел бы прикрепить журнал сборки к электронным письмам с уведомлениями о сборке, но не могу понять, как это сделать.

Похоже, что журнал сборки хранится на главном узле Jenkins (в данном случае, Ubuntu Linux).Например, /var/lib/jenkins/jobs/<PROJECT_NAME>/builds/<DATE_TIME>/log.Естественно, путь журнала сборки меняется с каждой сборкой.Функция вложения файлов Email-ext по умолчанию использует файлы из рабочей области проекта, которая находится на подчиненном компьютере сборки Jenkins (в данном случае Mac OS X).Например, я настроил своего ведомого на использование папки /Users/<USERNAME>/Jenkins/build_agent/workspace/<PROJECT_NAME>/.

Есть ли способ заставить Email-ext прикрепить файл из файловой системы мастера, а не из рабочей области на ведомой сборочной машине?

Заранее спасибо всем, кто может предложить некоторыесовет.Вики-страница Email-ext в настоящее время не содержит пример настройки вложений.

Ответы [ 5 ]

14 голосов
/ 19 декабря 2011

Вы можете просто использовать токен $ {BUILD_LOG, maxLines, escapeHtml} в теле письма, чтобы включить журнал сборки.

Цитирование документа плагина email-ext (доступно здесь ):

"Чтобы просмотреть список всех доступных токенов электронной почты и их отображение, вы можете нажать«? »(Вопросительный знак), связанный со ссылкой на токен содержимого, в верхней нижней части раздела email-ext на экране конфигурации проекта. «

11 голосов
/ 21 марта 2013

Плагин поддерживает прикрепление журнала сборки, вам просто нужно установить флажок в конфигурации проекта.

Project Configuration for email-ext

4 голосов
/ 20 декабря 2011

После изучения проблемы и проведения дополнительных исследований я пришел к выводу, что Email-ext не поддерживает вложение журнала сборки в электронное письмо с уведомлением о сборке.

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

В проекте после основного шага компиляции я добавил новый шаг Execute shell , чтобы сгенерировать соответствующую команду scp (безопасное копирование).Это команда (замените USER и HOSTNAME своими собственными значениями, и вам, вероятно, потребуется настроить путь в соответствии с вашим отдельным сервером):

scp USER@HOSTNAME:/var/lib/jenkins/jobs/$JOB_NAME/builds/$BUILD_ID/log build.log

Затем в Email-ext Вложения поле плагина Email-ext, которое я ввел:

build.log

Теперь журнал сборки копируется с главного устройства в рабочее пространство ведомого устройства и прикрепляется для отправки уведомлений по электронной почте.Я удалил токен $BUILD_LOG из шаблона тела сообщения.

Примечание: чтобы использовать эту конкретную технику, вам потребуется настроить ssh без пароля между ведомым устройством и ведущим устройством, возможно, используяКлючевая фраза OpenSSH.Если вам нужна помощь в этом, поищите в Интернете информацию о команде ssh-keygen и, возможно, посмотрите учебники, например , этот .Подобный подход должен работать на платформах, которые не имеют встроенной поддержки SSH.RoboCopy или аналогичный должен работать в системах Windows.

РЕДАКТИРОВАТЬ: Плагин Email-ext теперь имеет возможность прикрепить журнал сборки к уведомлению с проверкойполе на экране конфигурации задания.См. Пример slide .

1 голос
/ 07 февраля 2018

Firsl of all Вы должны установить Email Ext плагин . После установки выполните этот шаг.

  • Теперь к ' Добавить действие после сборки ' выберите Редактируемое уведомление по электронной почте, и в этом разделе у вас есть опция Прикрепить журнал сборки . Выберите вариант, как показано на рисунке ниже. enter image description here

после этого примените и сохраните. Теперь вы обязательно получите вложение в электронном письме. Спасибо.

0 голосов
/ 30 января 2015

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

...