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

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

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

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

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

Ответ 1

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

Project Configuration for email-ext

Ответ 2

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

Указание модуля плагина e-mail-ext (доступно здесь):

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

Ответ 3

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

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

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

scp [email protected]:/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.

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

Ответ 4

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

Ответ 5

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

  • Теперь в Добавить действие после сборки выберите Редактируемое уведомление по электронной почте, и в этом разделе вы можете выбрать опцию Прикрепить файл журнала.select, как показано на рисунке ниже. введите описание изображения здесь

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