Как обрабатывать разные версии зависимостей?
У меня есть проект make file, который использует несколько инструментов, таких как cppcheck
или же asn1c
, Есть несколько разработчиков, которые используют этот проект на своих локальных Linux-машинах. Проблема в том, что на каждой машине с Linux есть разные версии необходимых инструментов. Так, например, у одного разработчика есть cppcheck 1.8, а у другого - 1.6. Теперь я сталкиваюсь с неприятностями, потому что разные версии инструментов ведут себя по-разному. Например, некоторые разработчики успешно работают через cppcheck, а некоторые нет.
Поэтому я спрашиваю, как обрабатывать разные версии зависимостей?
У меня есть несколько идей:
- Добавление исходного кода инструментов в проект и компиляция инструментов перед запуском самого процесса сборки.
- Статическая компиляция инструментов и добавление двоичного файла в проект. Таким образом, каждый разработчик будет использовать один и тот же двоичный файл.
- Дайте виртуальную машину или удаленный доступ каждому разработчику. Таким образом, каждый использует одну и ту же среду
- Проинструктируйте всех разработчиков, какой дистрибутив Linux использовать, и обновляйте свою систему.
1 ответ
Настройте выделенные серверы для обработки сборок после того, как они будут зафиксированы в вашей системе управления версиями.
Таким образом, вы можете быть уверены, что все они используют одни и те же версии, вы можете настроить несколько сборочных серверов с разными наборами библиотек для проверки разных версий зависимостей или ОС.
Это довольно распространенная настройка для разработки программного обеспечения.
См. Этот пост SO для обоснования этого: /questions/40386301/kakoj-smyisl-v-servere-sborki/40386324#40386324