Как защитить хранилище кода от взлома или ошибок? - PullRequest
4 голосов
/ 14 декабря 2010

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

Вот один метод, с которым я экспериментировал.Я создал ловушки pre-commit для Subversion, чтобы сгенерировать копию проекта с объединенными ожидающими изменениями коммита, затем он запустил проверку синтаксиса и модульные тесты для этой копии.Если какой-либо из тестов не пройден, коммит будет отклонен с результатами проверки синтаксиса или модульного тестирования, чтобы предоставить обратную связь разработчику, делающему этот коммит.Если проверка синтаксиса и модульные тесты пройдены, commit будет принят.Это сработало, но компромисс заключался в том, что коммиты выполнялись очень медленно.Если программное обеспечение управления версиями кода обеспечивает лучшую интеграцию для облегчения этого, кроме запуска внешних программ при предварительной фиксации, я думаю, что скорость можно улучшить.

Я ищу методы, которые вы использовали для достижения этой цели, и размышления о причинахЭто хорошая или плохая идея, или опыт работы с инструментами управления версиями кода, которые обеспечивают поддержку регрессионного тестирования / тестирования сборки при регистрации кода. Также насколько важна скорость коммитов для вас?

1 Ответ

6 голосов
/ 14 декабря 2010

Вы должны использовать какую-то форму Непрерывная интеграция , где среда использует Hudson, CruiseControl или другой инструмент для облегчения этого поведения.

...