В организации где я работаю системным администратором появилась потребность развернуть проект для "системы разработки".
От меня требуют возможность:
- Пользователь должен иметь возможность получать папку с проектом с сервера и загружать на него измененные данные.
- Далее должен запускаться процесс CI для сборки и тестирования продукта, с целью улучшить качество и поправить ошибки.
Первую возможность я организовал подняв гитлаб, включающий в себя гит, и дав к нему доступ.
Со второй частью возник ряд вопросов:
- Структура проекта состоит из n подпроектов, которые запускают независимо друг от друга. На мой взгляд тестировать такую систему средствами CI не получится, кроме случая когда каждый подпроект будет иметь функционал аналогичный qDebug для вывода информации.
- Я не совсем понимаю как именно происходит сборка проекта в Docker или Gitlab CI, как я понимаю в контейнере или на сервере гитлаб должно быть развернуто тоже окружение, которое необходимо для работы всех подпроектов. То есть как минимум Qt5.6+, mingw, git. Для того чтобы запускать runner его необходимо поставить на docker и подключить к серверу гитлаб.
При этом такой подход к разработке проекта меня слегка удивляет, так как я не понимаю как CI поможет улучшить качество продукта и тестирование этого продукта.
Если кто-нибудь сможет помочь, я буду очень благодарен.