Технология создания временных сред для воспроизведения проблем клиентов

Технология создания временных сред для воспроизведения проблем клиентов

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

Другими словами, я ищу что-то, что позволит мне сказать: «Создайте среду, которая запускает эту версию Linux, имеет эту версию PHP, установленную» и т. д. Затем я надеюсь, что смогу войти в эту среду и выполнить шаги воспроизведения.

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

Существует ли технология, подходящая для такого варианта использования?

Я слышал о вещах, которые могут иметь отношение к делу

  • Проксмокс (сам по себе кажется излишним и недостаточным)
  • Vagrant (самого по себе может быть недостаточно, может также потребоваться управление конфигурацией, например Ansible)
  • Docker (обычно используется для запуска отдельных приложений, а не для воссоздания полных сред ОС)

Подходят ли какие-либо из них для этого варианта использования? Стоит ли мне рассмотреть другие варианты?

решение1

Я использовал docker для этого в прошлом, и он работал безупречно. Я бы рекомендовал вам изучить его, но вам лучше задать этот вопрос на Software Recommendation StackExchange.

решение2

В итоге я остановился на Vagrant, узнав, что он также может подготовить машину с помощью скриптов оболочки:https://www.vagrantup.com/intro/getting-started/provisioning.html

Кажется, это самый простой способ добиться желаемого, быстро настроив временную специальную среду, отдельную от моей собственной, с простой текстовой конфигурацией, которую можно контролировать версиями.

Связанный контент