我正在编写一个 C 点对点应用程序,目前我正在使用 VirtualBox 对其进行测试。每次,我都会启动多个虚拟机,并在不同的机器中尝试不同的命令,以查看整个网络的工作情况。有没有办法自动化这个测试过程?必须始终完成相同的任务(打开虚拟机,在计算机上启动引导服务器程序,其他计算机上的对等程序,测试手动从单个对等点请求文件......等等)真的很无聊。
答案1
我认为这种任务属于更广泛的类别开发运营。您可能正在寻找的更具体的关键字(流行语?)是编排。用于此类事情的工具比任何人都想了解的还要多。查看编排工具列表在开发运营书签对于一些可能性。
也就是说,您只需编写一点 shell 脚本就可以做您想做的事情。您可以使用vbox管理命令自动启动和关闭虚拟机。然后您可以使用 SSH 或虚拟串口在每个虚拟机上启动作业并收集结果。
也许还值得考虑一下您是否真的需要完全虚拟化。如果您使用 Linux,那么您可能会考虑将 Linux 容器与 Docker 结合使用。 Docker 有一个编排工具,叫做撰写它是为协调多容器应用程序而开发的,可能很适合您的用例。
如果您提供有关您想要做什么的更多详细信息,我也许可以说更多。