Хотел бы поделится небольшим опытом по автоматизации и стандартизации процесса разработки. Статья не претендует быть истиной, но я надеюсь будет интерестным чтивом для конца рабочей недели.
В начале было слово
Для начала немножко расскажу с чего все начиналось:
- Репозитарий в котором была только одна основная ветка.
- 5 проектов, которые должны взаимодействовать в единой этосистеме. И еще несколько на подходе.
- Постоянно дополняющиеся требования, приводящие к необратимым изменениям в протоколе общения между всеми компонентами (не самая лучьшая ситуация, но так уже было).
- Каждый из проектов имел свой формат версии. Одни основывались на ревизии, другие на дате, третье и на том и на том.
- Отсутсвие какой либо соглассованности между всеми компонентами (была только на словах).
- Отсутсвие какой либо автоматизации процессов (что то всетаки было, но не густо).
- Отсутствие единого хранилища всех дистрибутивов (одни хранились в svn, другие в Track Studio, третье пересобирались каждый раз из исходников (было забавно смотреть как тестировщики выгружали из svn исходники приложения и делали make clean all что бы получить новый бинарник для тестироания)).