2013-11-28 3 views
0

Проблемы:Как добавить системный журнал для Jenkins консоли

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

фон:

The Job меня настраивает несколько удаленных клиентов, а затем действует на них с некоторыми командами, эти клиенты посылают свои системные сообщения на машину Дженкинс. Я могу просмотреть эти журналы вручную, когда я просматриваю syslog на машине Jenkins, но они не отображаются на консольном выходе Jenkins Job.

Я ищу:

В идеале мне нужно решение, которое будет достаточно прочным, чтобы поддерживать несколько рабочих мест с несколькими клиентами таким образом, что каждый из журналов клиенты будут отправлены только в журнал сборки (консольных) из соответствующие рабочие места.

Но я соглашусь на любое решение, которое может дать указание о том, как включать больше источников для журнала сборки Jenkins Job (консоль).

ответ

0

Я нашел достаточно простой способ записи в журнал сборки (консоли) любой выполняемой работы.

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

В linux, как только вы узнаете идентификатор процесса, выполняющего задание, вы можете просто перейти к этапу stdout (или stderr) этого процесса.

Например, говорят, что ПИД 555:

echo "this message will appear in the build log (console)" > /proc/555/fd/1 

/proc/555/fd/2 Аналогично можно использовать для STDERR (но я не думаю, что есть разница в данном случае)