Несколько проектов jenkins/gerrit

Мы заканчиваем настройку нашей новой системы CI, включая git, gerrit и jenkins для автоматического тестирования и проверки кода, и обнаруживаем странную ситуацию:

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

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

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

Допустим, у нас есть GerritProjectA и GerritProjectB, каждый из которых имеет JenkinsProjectA и JenkinsProjectB. Когда изменение отправляется в GerritProjectA, запускаются как JenkinsProjectA, так и JenkinsProjectB. Также что-то путается в голосовании за gerrit после сборки: Вот информация в 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

Как видите, команда gerrit Approved перепутана с информацией для двух разных заданий jenkins...

Пример настройки для любой работы jenkins:

Repository URL: ssh://jenkins@gerrit-server: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

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

Доминго


person Domingo García Salas    schedule 08.04.2012    source источник


Ответы (1)


Нашел проблему:

В одном из заданий Jenkins (назовем его JenkinsJobB) в части конфигурации «Gerrit Trigger» не было имени репозитория git в шаблоне.

Если у вас есть несколько заданий jenkins для проектов gerrit, вам необходимо настроить триггер gerrit следующим образом (по крайней мере, в моем случае):

Type: Plain
Pattern: (repository name)

Branches
Type: Path
Pattern: ** (or the branch name if you just want to watch one).
person Domingo García Salas    schedule 09.04.2012