ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
8 декабря
1480355 Топик полностью
VVB (29.11.2024 11:16, просмотров: 132) ответил Cкpипaч на Моя создает. Большое число релизов, обозримое число мест установки. Нет, не используем. И был бы рад поиграть вам роль стеночки для аргументов, а зачем оно нужно, нормальным людям?
Дано: 

30 разработчиков

10 разных выпускаемых приборов (разработка, поддержка, развитие) и проектов ПО типа "сеть централизованного мониторинга больничной сети", куча вспомогательных утилит для ПК на разных языках программирования (Delphi, java, c, c++, c#, python) и ещё бОльшая куча утилит для калибровки всего этого зоопарка

в сумме примерно 20 разных электронных блоков

зоопарк инструментов разработки, платформ, операционных систем и нежелание руководства что-то унифицировать (тратить деньги)

маркировка CE обязательна

используется gitlab и семантическое версионирование, что позволяет автоматизировать запуск процесса сборки всего чего хочется, при коммите (допустим) в ветку develop


Требуется:

1. минимизировать человеческие ошибки (например, разработчик забыл добавить исходник в репозиторий git и выдал прошивку, которую другой разработчик на другом ПК в принципе не сможет создать)

2. воспроизводить сборку, чтобы на любом ПК отличном от ПК разработчика (например, на ПК сборщика) из исходников получался тот же файл прошивки

3. минимизировать человеческие усилия для воспроизведения сборки (настройка окружения для сборки прошивки; настройка окружения для сборки вспомогательных утилит; настройка окружения для сборки утилит для настройщиков)

4. желательная автоматизация: разработчик коммитит, гитлаб создаёт прошивку и рассылает отчёт, прошивки предоставляются производству; сейчас прошивку создаёт отдельный человек


Docker позволит более удобно решить требование №3. Сейчас вручную "сборщик" настраивает необходимое окружение на "сервере сборки", что влечёт лишнее взаимодействие между разными отделами (разработчиком и службой качества). Dockerfile будет создавать разработчик, сборщику нужно лишь создать образ, запустить контейнер, запустить сборку в контейнере и получить результат. Разработчик будет сам определять окружение сборки. При наличии имеющегося зоопарка инструментов, подход с Docker может быть более удобным. Хочу попробовать.