Я новичок в serverfault, так что терпите меня, пожалуйста.
В настоящее время я работаю со статической сетью (angular2
) и php
развертывание преимущественно на DigitalOcean и AWS с использованием nginx
и apache2
.
До нынешнего момента debian
пакеты работали нормально, но в ближайшем будущем мне может потребоваться развернуть на CentOS и debian
вне поля зрения, и мне почти нужно переделать почти все в каком-то смысле.
Кроме того, например, версия PHP, установленная с помощью debian, - 5.5. *, И если мне нужно выполнить обновление, мне придется полагаться на сторонние репозитории, чтобы выполнить эту работу.
Есть ли более простой и универсальный способ управления программным обеспечением, версиями и зависимостями при развертывании на виртуальной машине?
Используйте систему управления конфигурацией для развертывания ваших пакетов и конфигураций сервера.
Вообще говоря, большинство систем CM способны довольно изящно обрабатывать различия между дистрибутивами Linux. Однако вы столкнетесь с тем, что имена пакетов в Debian и CentOS будут отличаться. Таким образом, вам может потребоваться управлять двумя списками пакетов - одним для Debian и одним для CentOS.
Тот факт, что это виртуальные машины, не имеет никакого значения, поскольку то, что вы делаете, мы делаем на уровне ОС.
В зависимости от того, как вы хотите это сделать, контейнеры Docker могут быть хорошим вариантом, потому что они переносятся между ОС хоста и не имеет значения, на чем вы работаете.
Да, вам все еще нужно управлять пакетами внутри контейнер, использующий базовое изображение, но, по крайней мере, это то, что вы можете жестко контролировать.