设置临时环境以重现客户问题的技术

设置临时环境以重现客户问题的技术

有时我需要重现仅出现在客户环境中的问题。我可以手动设置虚拟机以充分镜像其环境,但如果能找到一种半自动化的方法来完成此操作,那就太好了。

换句话说,我正在寻找一些可以让我说“创建一个运行此版本的 Linux 的环境,安装此版本的 PHP”的东西,等等。然后我希望能够登录到那个环境并执行重现步骤。

这些环境显然是相对短暂的,因为一旦我重现了该特定问题,我就有可能永远不必再次重新创建相同的环境。也就是说,如果环境配置采用易于版本控制的格式,那就太好了,以防再次需要它。

是否有适合此类用例的技术?

我听说过的可能相关的事情

  • Proxmox(看起来杀伤力太大,而且本身还不够)
  • Vagrant(本身可能不够,可能还需要像 Ansible 这样的配置管理)
  • Docker(通常用于运行单个应用程序,而不是重新创建完整的操作系统环境)

这些是否适合该用例?我应该考虑其他选择吗?

答案1

我过去几乎使用 docker 来完成此任务,并且它运行得非常完美。我建议您研究一下,但您最好在软件推荐 StackExchange 上提出这个问题。

答案2

在了解到 Vagrant 还可以使用 shell 脚本配置机器后,我最终选择了 Vagrant:https://www.vagrantup.com/intro/getting-started/provisioning.html

这似乎是实现我想要的目标的最省力的方法,通过快速设置与我自己的环境分开的临时特定环境,并使用可以进行版本控制的简单的基于文本的配置。

相关内容