2016-05-23 9 views
5

Я бы хотел проверить или получить уведомления о сбоях опроса SCM в Jenkins (например, при изменении URL-адреса репозитория или удалении ветки). Я думал о них:Уведомлять о/проверить провал опроса SCM в Jenkins

а) Консоль скрипт Дженкинс, который можно было бы перечислить такие дефектные рабочие

б) Настройка/установка плагина для Jenkins, чтобы уведомить меня как-то об этом факте (электронная почта, ничего)

c) Внешний скрипт/исполняемый файл (bash, python, ...), в котором будут перечислены сборки, которые не были выполнены за последние X часов из-за сбоя опроса SCM.

+1

[Этот ответ] (http://stackoverflow.com/questions/18277720/email-notification-for-subversion-polling-failures-in-jenkins) предназначен для SVN, но я думаю, что это применимо и в этом случае , – approxiblue

ответ

1

Как вы упомянули в своем вопросе, один из способов решения этой проблемы используя скрипт. Например, Groovy Postbuild.

Поскольку скрипты Postbuild Groovy запускаются на главном компьютере, вы можете получить доступ к scm-polling.log каждого задания, найденному в файловой системе, используя стандартные функции ввода-вывода.

Например, предположим, мастер с Windows, вот некоторые (непроверенные) псевдокод, чтобы дать вам некоторые идеи:

def error = false; 
def jobsDirectory = new File("C:\\Jenkins\\jobs"); 
jobsDirectory.eachFile { 
    def pollingLog = new File(it.path + "\\scm-polling.log"); 
    if(pollingLog.text =~ "ERROR") 
    { 
     manager.listener.logger.println(it.path + " has polling errors."); 
     error = true; 
    } 
} 

if(error) { 
    manager.build.buildFailure(); 
} 

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

 Смежные вопросы

  • Нет связанных вопросов^_^