Настройка хостинга Git, предоставленная разработчиками, отклонение неработающих коммитов?

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

Есть ли программное обеспечение, позволяющее размещать Git таким образом, чтобы предотвращать нарушение сборки в системе контроля версий, не принимая коммиты, не прошедшие тесты? Сценарий использования может выглядеть, например, следующим образом:

  • Программное обеспечение работает на сервере, который постоянно извлекает версии из репозиториев Git, опубликованных разработчиками.
  • Для каждой извлеченной версии,
    • Если он проходит тесты, ревизия объединяется в «стабильную» ветку.
    • Если не проходит тесты, она отклоняется, и ревизия не объединяется в «стабильную» ветвь. Разработчик вынужден исправить ревизию и повторно отправить ее.
  • Разработчики по умолчанию выбирают из «стабильной» ветки, которая никогда не должна нарушаться - в том смысле, что тесты не дают сбоев - и более продуктивны, поскольку тратят меньше времени на выполнение заблокирован сломанными сборками. И полезность такой системы растет с размером команды.

Несколько примечаний:

  • Перехватчики Git перед фиксацией и подобные им не подходят в этом случае. Решение должно быть автоматическим и применяться на стороне сервера для каждой фиксации.
  • Ищете решение, которое было реализовано и продумано, насколько это возможно, вместо того, чтобы писать такую ​​систему сам с нуля.
7
задан Markus Hallmann 4 November 2010 в 21:27
поделиться