Одна из моих ролей в моей команде - это человек, занимающийся сборкой . Я отвечаю за поддержание / обновление наших сценариев сборки и за то, чтобы мы работали «гладко» на сервере непрерывной интеграции. Я обычно не возражаю против этой работы, хотя часто мне кажется, что я постоянно присматриваю за сервером CI.
Эта работа иногда может раздражать, потому что если сборка ломается, мне приходится отбрасывать историю, над которой я работаю, и исследовать сбой сборки. Сбои сборки случаются ежедневно в нашей команде. Иногда разработчики просто не строят локально перед фиксацией, поэтому тесты на сервере CI не проходят. В этой ситуации мне нравится быстро добираться до человека, у которого был «плохой коммит», чтобы сборка не оставалась сломанной слишком долго. Иногда (гораздо реже) на CI-сервере возникает странное условие, которое необходимо отладить.
Я знаю, что многие зрелые команды используют Непрерывную Интеграцию, но там не так много материала о хороших практиках.
Мои проблемы указывают на то, что наша непрерывная интеграция не очень зрелая, или это просто часть работы?
Каковы некоторые хорошие практики для подражания? Каковы характеристики зрелой непрерывной интеграции ?
Обновить
Вместо того, чтобы отвечать на некоторые комментарии, я собираюсь сделать обновление. У нас есть одна простая команда, которая делает именно то, что будет делать сервер сборки при сборке приложения. Он скомпилирует, запустит все юниты / интеграцию и несколько быстрых тестов на основе пользовательского интерфейса.
Читая ответы каждого, мы чувствуем две основные проблемы.
- CI Server не выдает достаточно громких жалоб при сбое сборки.
- Разработчики не считают своей обязанностью гарантировать, что их обязательства пройдут успешно.
Что усложняет ситуацию в моей команде, так это то, что у нас большая команда (более 10 разработчиков) И у нас есть пара оффшорных членов команды, которые берут на себя обязательства, даже когда мы не на работе. Поскольку команда большая, и мы установили, что частые, небольшие коммиты предпочтительнее, у нас иногда бывает очень много активности в день.