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

Как управлять версиями и зависимостями на виртуальной машине

Я новичок в serverfault, так что терпите меня, пожалуйста.

В настоящее время я работаю со статической сетью (angular2) и php развертывание преимущественно на DigitalOcean и AWS с использованием nginx и apache2.

До нынешнего момента debian пакеты работали нормально, но в ближайшем будущем мне может потребоваться развернуть на CentOS и debian вне поля зрения, и мне почти нужно переделать почти все в каком-то смысле.

Кроме того, например, версия PHP, установленная с помощью debian, - 5.5. *, И если мне нужно выполнить обновление, мне придется полагаться на сторонние репозитории, чтобы выполнить эту работу.

Есть ли более простой и универсальный способ управления программным обеспечением, версиями и зависимостями при развертывании на виртуальной машине?

Используйте систему управления конфигурацией для развертывания ваших пакетов и конфигураций сервера.

Вообще говоря, большинство систем CM способны довольно изящно обрабатывать различия между дистрибутивами Linux. Однако вы столкнетесь с тем, что имена пакетов в Debian и CentOS будут отличаться. Таким образом, вам может потребоваться управлять двумя списками пакетов - одним для Debian и одним для CentOS.

Тот факт, что это виртуальные машины, не имеет никакого значения, поскольку то, что вы делаете, мы делаем на уровне ОС.

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

Да, вам все еще нужно управлять пакетами внутри контейнер, использующий базовое изображение, но, по крайней мере, это то, что вы можете жестко контролировать.