Недавно я начал читать о создании среды разработки с помощью программного обеспечения для виртуализации (я новичок), и кажется, что "инфраструктура как код" - действительно мощная концепция.
Мне очень нравится структура рабочего процесса, описанная здесь:
- Тот же базовый образ VirtualBox используется вокруг команды
- Vagrant используется для быстрого "создания" и "предоставления" такого изображения в нужную конфигурацию с помощью
- Рецепты шеф-повара (или кукольного), которые являются единственной частью кода, необходимо поставить под контроль версий.
Однако я все еще не совсем понимаю, как код передается и развертывается на серверах Production.
Как я понимаю, общий способ сохранения сред DEV и PROD идентичен, чтобы управлять экземпляром сервера Production как просто еще один виртуальный образ, который должен быть подготовлен шеф-поваром. На сервере Production я могу установить ту же самую ОС, как и я (и команда), ежедневно использую VirtualBox-Vagrant-Chef.
Но сервер Production может иметь аппаратное обеспечение, которое отличается от оборудования в виртуальной гостевой ОС, и это может снова привести к несоответствиям.
Итак, вот вопрос:
Какова известная и распространенная практика передачи и развертывания кода на сервер Production из среды разработки, которая управляется с помощью инструментальной привязки VirtualBox-Vagrant-Chef? Поддерживает ли эта практика любое непрерывное развертывание?
[Изменить]: Примечание. Существует ли практика запуска того же экземпляра виртуальной машины, который был предоставлен Chef/Vagrant на сервере Production, как показано на диаграмме