Ответ 1
Плагин поддерживает поддержку журнала сборки, вам просто нужно установить флажок в конфигурации проекта.
Версия 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 в настоящее время не содержится пример настройки вложений.
Плагин поддерживает поддержку журнала сборки, вам просто нужно установить флажок в конфигурации проекта.
Вы можете просто использовать маркер ${BUILD_LOG, maxLines, escapeHtml} в теле письма, чтобы включить журнал сборки.
Указание модуля плагина e-mail-ext (доступно здесь):
"Чтобы просмотреть список всех доступных токенов электронной почты и то, что они отображают, вы можете щелкнуть значок"? "(вопросительный знак), связанный с ссылкой на токен содержимого, в верхней части раздела электронной почты-ext на экране конфигурации проекта"
После того, как вы спали на проблеме и делали больше исследований, я пришел к выводу, что электронная почта-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 теперь имеет возможность прикреплять журнал сборки к уведомляющему сообщению с помощью флажка на экране конфигурации задания. См. Пример слайда.
Я заметил, что когда я устанавливаю флажок для прикрепления журнала сборки, он также отменяет после сохранения, однако он прикреплен в моих письмах после отправки электронного сообщения.
Firsl of all Вы должны установить Email Ext plugin. После установки выполните следующий шаг.
после этого примените и сохраните. Теперь вы обязательно получите сборку вложения электронной почты для создания журнала. Спасибо.