2012-04-08 4 views
2

Мы заканчиваем установку нашей новой системы CI, включая мерзавец, Геррит и Jenkins для автоматизированного тестирования и ревизии коды, и мы находим странную ситуацию:Несколько Дженкинс/Геррит проекты

Мы имеем три различные gerrit, каждая из которых имеет свою собственную работу Дженкинса. Мы использовали руководство this в качестве ссылки на установку, и все установлено и, по-видимому, работает нормально.

Наш первый проект был настроен и протестирован с патчем изменения образца. Дженкинс был вызван правильно, прошел тест и проголосовал «Проверено» на сборку, как ожидалось. Все идет нормально!

Но: Когда мы попытались настроить второй проект, мы обнаружили, что патч изменений в одном из триггеров проектов изменился в каждом задании jenkins. Например:

Предположим, у нас есть GerritProjectA и GerritProjectB, каждый из которых имеет JenkinsProjectA и JenkinsProjectB. Когда изменения передаются GerritProjectA, запускаются как JenkinsProjectA, так и JenkinsProjectB. Кроме того, что-то путается в Геррит голосования после сборки: Это информация в sshd_log после одного из сборки (один в JenkinsProjectB):

gerrit approve 10,3 --message '\''Build Failed 
    http://jenkins-server:8080/job/projectA/6/ : FAILURE 

    http://jenkins-server:8080/job/projectB/59/ : Correcto'\!''\'' -- 
     verified -2 --code-review 0' 14ms 6ms 1 

Как вы можете видеть, Геррит команда утвердить перемешивается с информацией для двух различных Дженкинс рабочих мест ...

установки образца для любого Дженкинс работы:

Repository URL: ssh://[email protected]:29418/projectA.git 
Banches to build: $GERRIT_PATCHSET_REVISION 
Build triggered by Gerrit event: 
Project Type: Plain 
Branches: Path ** 

версии программного обеспечения:

Jenkins: 1.458 
Gerrit plugin: 2.5.1 
Gerrit: 2-3 rc0 

Любые идеи? Заранее спасибо!

Доминго

ответ

1

Найдено проблема:

Одно из заданий Дженкинс (назовём его JenkinsJobB), в части «Геррит Trigger» конфигурации не имеют имя репозиторий в шаблон.

Если у вас есть несколько Дженкинс рабочих мест для Геррит проектов, вам нужно настроить триггер Геррит как это (по крайней мере в моем случае):

Type: Plain 
Pattern: (repository name) 

Branches 
Type: Path 
Pattern: ** (or the branch name if you just want to watch one). 
Смежные вопросы