Назад | Перейти на главную страницу

Как автоматически настроить или отразить мою установку Ubuntu на других машинах разработчика?

У меня есть много пакетов и конфигураций для настройки моей машины разработчика. В моей команде есть другие разработчики, и я хочу, чтобы у них была такая же настройка для начала, чтобы обеспечить совместимость и доступность инструментов.

Как мне автоматизировать настройку других машин разработки?

Я нашел Puppet и Chef, которые делают то же самое для нескольких серверов. Я без колебаний изучу их или воспользуюсь ими, если они не являются излишними для моего варианта использования.

Я также обнаружил, что Remastersys повторил мою установку с настраиваемым живым диском, но я с нетерпением жду:

Итак, какой инструмент мне следует искать, чтобы это сделать?

Пример использования:

Мой вариант использования не похож на серверный. Все, что я хочу, - это повторить мою настройку, не отвлекая меня от основных деталей системы.

Сценарии оболочки могут быть вариантом, но очень сложно поддерживать что-то настолько низкое, как сценарий оболочки.

Я полагаю, что это общая проблема, которую необходимо решить. Должно быть что-то я упускаю.

Вам действительно нужна какая-то форма управления конфигурацией. Puppet, Chef, CFengine, одно из таких. Базовая настройка каждого из них несколько тривиальна, но они очень быстро усложняются. Для каждого из них существует множество различных практических рекомендаций.

НЕ становитесь агностиком дистрибутива. Приятно иметь возможность использовать разные дистрибутивы, но не ожидайте совместимости. В разных дистрибутивах есть разные версии apache, php, mysql и т. Д. И т. Д. И т. Д. Чтобы быть независимым от дистрибутива, вы должны быть готовы упаковать И поддерживать эти пакеты для каждого дистрибутива (чтобы ваше критически важное программное обеспечение было одной и той же версии в разных дистрибутивах. .)

Я знаю, что вы спрашиваете здесь конкретно о своей среде разработки, но также важно поддерживать синхронизацию производственной среды со средой разработки. Никто не любит отправлять код в производственную среду только для того, чтобы узнать, что вы разрабатываете версию библиотеки, которая еще не увидела свет в производственной среде. Синхронизация различных сред имеет решающее значение для сокращения времени простоя.