В предыдущем посте я дал общую схему платформы для автоматизации командной разработки. Сегодня я хочу кратко описать то, что нашей команде удалось сделать внутри 1С для автоматизации данного процесса и кратко остановлюсь на каждом из реализованных блоков.
Итак, начнем:
- В качестве системы регистрации запросов был выбран RedMine – http://www.redmine.org/. Основные причины, почему выбор остановили на нем:
- RedMine – свободное ПО. Для развертывания так же используется бесплатное ПО: Unix/Linux + MySQL. Внедрение не требует дополнительных затрат.
- Несмотря на бесплатность, RedMine очень активно развивается. Существует очень подробная пользовательская документация (правда на английском, но современного ИТ-профессионала это не должно останавливать).
- Система очень гибкая – новые поля, статусы, списки добавляются быстро и просто. Это ключевой пункт, так как у меня есть достаточно четкое видение того, как должен управляться процесс разработки. Более детально описание можно посмотреть здесь (правда тот мой блог на английском – структура рабочего элемента описана в самом начале блога).
- База данных MySQL – позволяет вытащить данные, что дает возможность реализовать нормальную систему отчетности.
- В качестве единой базы данных (ITWarehouse), в которую помещается информация из всех источников для формирования отчетности, был выбран MS SQL Server. База данных проектировалась для дальнейшего внедрения MS Analysis Services (кубы), но в текущем варианте она используется как обычная база данных.
- Для редактирования конфигурации используется Хранилище 1С (мы работает в версии 8.2). Разработчик при возврате изменений в хранилище в комментариях указывает номер задачи. В дальнейшем вся история изменения хранилища выгружается в XML файл и загружается в единую базу данных, где каждое изменение связывается с конкретной задачей.
- Для работы с внешними обработками используется SVN https://ru.wikipedia.org/wiki/Subversion, в качестве клиента мы используется TortoiseSVN http://tortoisesvn.net/. Данные продукты были выбраны по следующим причинам:
- Бесплатность.
- Включают все необходимые для полноценной работы инструменты (контроль версий, Merge/Branch, быстрое сравнение версий, plug-in для сравнения версий обработок 1С).
- Интеграция с RedMine, что позволяет привязывать изменения напрямую к задачам и избавляет от необходимости создания отдельного импорта данных в единую базу (ITWarehouse)
- Система отчетов – это верхняя часть всех описанных модулей, которая позволяет разработчику/менеджеру переноса изменений/руководителю в реальном времени контролировать весь процесс работы команды.
- На данный момент мы не автоматизировали Анализ кода, Автоматическое тестирование и Build Machine. В планах у нас реализация данных блоков есть, и как только они будут готовы, я обязательно поделись опытом.
В дальнейшем я планирую более детально остановиться на каждом из внедренных модулей. Так как описывать их можно в любом порядке, то если у вас есть пожелания, какие из блоков более интересны – дайте знать, я начну описание именно с них.