GitHub для организаций

Эта заметка для сомневающихся разработчиков и менеджеров проектов, которые хотят переехать на рельсы GitHub.

Пол года назад наша небольшая команда бросила redmine и погрузилась в поиски нового дома для наших проектов.

Миграция

Ключевым требованием было наличие полноценного решения для Code Review, простое ведение Issues, ну и конечно полноценная интеграция с git.

Я попробовал Jira (Stash), BitBucket и GitHub. Больше всего мне понравился последний, на который было решено и переносить проекты.

Миграция пошла достаточно просто. В сети я нашел питонячий скрипт, который пришлось немного переписать под нас, он помог быстро перенести все задачи. В GitHub установлен лимит на 5000 запросов к API в сутки, полный переезд занял два дня.

Адаптация к тикет трекеру прошла не очень легко. Непривычно и ново было всё, начиная от локализации и заканчивая выедавшими глаза метками. Для кого-то пара моментов, о которых я напишу ниже, могут быть очень важны, я был неприятно удивлен:

Не нравится

В GitHub организациях нет гибкой системы разграничения прав пользователей. Issues проекта доступны всем, у кого есть доступ к репозиторию, и наоборот. Вы можете ограничить только запись в репо, чтение всегда открыто. Решается эта проблема криво, созданием отдельного проекта только для задач.

API наступает на те же грабли и не позволяет дать доступ сторонним сервисам к определенному ресурсу. Если вы предоставляете доступ к задачам, то у вас попросят и полный доступ к репозиториям. Отсюда вытекают некоторые опасения при интеграции сторонних сервисов с вашим проектом.

Проблема меток

Миграция из redmine потянула за собой и кучу меток, приоритетов, статусов. Issues были засорены одними статусами, а каждая новая итерация открытия или закрытия задачи мусорила ещё больше. Среди всей этой бесполезной информации было довольно неудобно выделять обсуждение.

Мы решили эту проблему тотальной чисткой, оставив на проект три лейбла: ошибка, критическая ошибка (должна быть выполнена вне очереди и milestone), статус аппрува задачи от менеджера (позволяет делать фильтрацию в отличии от lock).

Приоритеты были заменены на milestones. Вместо высокого приоритета теперь номер версии продукта, у которого установлены определённые сроки релиза.

Задачи у которых нет статуса автоматически считаются фичами, отдельный лейбл тут не нужен, как и для улучшений.

Из хорошего

Пулл риквесты, удобная система комментирования кода (code review), автоматическое закрытие задач (коммитами и пулл риквестами), отличные сторонние клиенты к задачам, двухфакторная авторизация, фид общего потока всех действий команды. Есть возможность настроить автоматическое развёртывание для каждого нового коммита, комментирование тикетов прямо из email, markdown разметка. Нравится широкий и быстрый поиск по задачам и коду.

Если бы не странная политика с правами доступа, которые решаются через API, написанием своего простенького клиента, то я бы был доволен на 100%.


comments powered by Disqus