Переход от Геррита к Крусиблу

В настоящее время мы используем Gerrit для команды из десятка человек и нескольких разработчиков.

Это наш текущий рабочий процесс:
1. Ветка разработчиков от мастера
2. Разработчики работают в своей локальной ветке
3. Разработчики нажимают на gerrit, который охраняет ветку master, сохраняя отправленную фиксацию в refs/for/master. (Если вы не знали, gerrit также является менеджером хранилища.)
4. Геррит вызывает Jenkins, запускает модульные тесты (и тесты Selenium )для набора изменений. В случае неудачи коммит возвращается разработчику. В противном случае Дженкинс +1 за фиксацию.
5. Рецензент просматривает фиксацию и ставит +1
6. Старший рецензент просматривает коммит и добавляет +2, после чего набор изменений объединяется с refs/head/master (, т.е. фактической веткой )

. Нам нравится этот рабочий процесс; это здорово. Это привнесло замечательный и столь необходимый процесс и дисциплину в нашу разработку и создало -список того, что нужно сделать, из нашего ранее упускаемого из виду и игнорировавшегося -узкого места в обзоре кода, и все довольны этим.

х -Антракт -х

Сейчас мы планируем перенести управление задачами в Jira. Пока я устанавливал его, я также настроил Crucible, так как это кажется естественной интеграцией, чтобы сделать проверку кода частью всего шебанга. Чего я не могу сделать, так это воспроизвести наш рабочий процесс выше, который мы полюбили. С интеграцией Jira/Crucible, поскольку наш репозиторий больше не контролирует все (, и мы не хотим платить за Atlassian Stash ), мы будем отправлять код в Bitbucket. Мы больше не можем работать непосредственно с мастером, поскольку плохой код больше не будет «сохраняться на шлюзе -», а будет объединен с мастером разработчиком до того, как он пройдет какое-либо тестирование или проверку кода.Единственным решением, позволяющим не допустить его попадания в основную ветку, являются вилки. Ладно, это раздражает, но я могу смириться с этим. Но как мне заставить фиксацию из ветки разработчика быть объединенной с основной веткой после того, как она пройдет проверку кода? Это то, что я хотел бы услышать от людей, которые сделали что-то хотя бы отдаленно похожее или знают, как это сделать в моей ситуации.

Альтернативой всему этому является попытка форсировать интеграцию между Jira и Gerrit с помощьюhttps://github.com/hobbs/jirretно это использует XML RPC, который Jira все еще поддерживает, но больше не будет разрабатывать для него.

11
задан Mat 10 February 2013 в 11:09
поделиться