Я пытался выяснить, кто вызвал неудачную сборку Хадсона. Но я нашел Started by an SCM change
вместо Started by 'UserId'
. Теперь, что это значит?
Что такое "Начинается с изменения SCM" в Хадсоне?
Ответ 1
Это означает, что кто-то проверил изменения кода в вашей системе управления версиями/программным обеспечением (CVS, SVN, Git и т.д.), а Хадсон начал создавать на основе этого изменения.
Вы должны уметь видеть, кто это был, щелкнув ссылку "Изменения" в меню слева.
Ответ 2
"SCM" - это "управление конфигурацией программного обеспечения", то есть ваша система контроля версий. Хадсон может быть настроен на опрос CVS, SVN и т.д. Для изменения исходного кода и запуск сборки на основе этого изменения.
Ответ 3
Я работал над script, чтобы запустить электронное письмо со списком изменений для разработчика, который запустил сборку. Проведя пару часов в Интернете, пытаясь найти решение, я нашел обходное решение, пробивающее файлы hudson log. Наверное, это не самый чистый способ сделать это, но он работает. Каждый раз, когда hudson запускает сборку, он записывает статус сборки в файл журнала. Журнал выглядит примерно так.
Started by user <****>
Building remotely on Slave1
$ hg clone -r test_clone https://mercuial.com/build /some/workspace/test_clone
adding changesets
adding manifests
adding file changes
added 355 changesets with 298 changes to 43 files
updating to branch default
41 files updated, 0 files merged, 0 files removed, 0 files unresolved
...
...
Файл журнала находится в ~workspace/jobs/${RELEASE}/builds/${BUILD_NUMBER}/log
. Затем вы можете проанализировать файл журнала для UserId. Что-то вроде этого должно работать.
Идентификатор_пользователя = head -1 ~workspace/jobs/${RELEASE}/builds/${BUILD_NUMBER}/log|cut -d" " -f4
Ответ 4
Имела ту же проблему в jenkins, когда имя ветки проверки и указанное имя ветки там же. Любое изменение вызвало hudson для автоматического создания сборки для догоняющего.
решается путем: изменить имя локальной ветки на другое (или не использовать его, возможно)