GitHub, Gerrit, Hudson (Jenkins) рабочий процесс
-
03-10-2019 - |
Вопрос
Я просто начинаю использовать Github, Gerrit и Hudson (Jenkins) вместе. И мне нужны мысли на рабочий процесс.
Мы хотели бы использовать GitHub в качестве основного удаленного репо. Мы хотели бы использовать Gerrit в первую очередь для отзывов кода, но и для построения триггеров в Гудзоне.
На данный момент, однако, у меня возникнут проблемы с размышлениями через рабочий процесс для этого и хотелось бы услышать, что сделали другие. Мысли?
Решение
Я не использовал напрямую не использовал Gerrit, но мне нравится идея промежуточного и специализированного репо, между:
- REPOS вашего разработчика
- Центральный GitHub удаленный репо
Таким образом, вам нужно определить, что вы хотите опубликовать в REPO Remote GitHub:
- Код для рассмотрения (означает, что локальный веб-пантер Gerrit будет потянуть код GitHub для изучения)
- Код, который был рассмотрен (означает, что вы публикуете сначала свои комбиниты для Gerrit, а после обзора кода вы толкаете их в GitHub)
Второй рабочий процесс ближе к тому, что Проекты Google Android следует с Gerrit.
В обоих случаях требуется промежуточный местный репо для Gerrit для изучения.
Другие советы
Мы используем гадость, Геррит а также jenkins. (преемник Гудсон). Мы связываем его вместе с редмин для bugtracking.
Перед Gerrit мы использовали GitHub, поскольку основной репозиторий и разработчики разработчиков приняли участие в доступе. Теперь, когда у нас работает Gerrit, Github используется только в качестве нашего хранилища публикации, и только пользователь Gerrit имеет доступ к точке на Github.
Рабочий процесс:
- Разработчик проверяет источник из GitHub.
- Разработчик вносит изменения.
- Разработчик толкает в Gerrit.
- Gerrit отправляет уведомление об изменении Jenkins для теста интеграции.
- Дженкинс вытягивает изменения прямо из сервера Gitrit Git.
- По перевалу, Дженкинс добавляет +1 до обзора Gerrit, проходит обзор другим разработчикам.
- По провалу, Дженкинс добавляет -1 в обзор Gerrit
- Статус Pass / Fail толкнул в Redmine
- Другие разработчики обзорные изменения, утверждают (+2)
- Gerrit совершает изменения в репозиторий GitHUB.
- Крюк GitHub уведомляет Redmine обновлений.
- Redmine вытягивает изменения из GitHub, анализирует обмена сообщениями для информации о билетах.
- Разработчик извлекает изменения из GitHub ... Вернуться к 2. [править]: Мы переключили, чтобы потянуть непосредственно из Gerrit. GitHub остается в качестве зеркала для вытягивания источников производства.
Отсутствующие части:
- кусок к завязке Обзор Gerrit в / от отслеживания ошибок.