我们项目中的大多数开发人员都使用Windows,但我们的服务器是Linux并配置了ansible。
为了在本地测试ansible,我们使用Vagrant创建虚拟机来模拟服务器,但我们还需要创建一个用于安装的虚拟机,因为它不支持Windows作为控制机器。
一些开发人员使用Linux或Mac,因此他们不需要额外的VM。
如何配置和运行Vagrant,以便它只在我要求时才提供额外的VM?
或者,如果我不告诉它,如何阻止它配置此VM?
答案 0 :(得分:0)
我认为the docs的一些摘录可以帮到你:
其他命令,例如vagrant up,默认情况下在每台机器上运行。因此,如果你跑了流浪汉,Vagrant会提出网络和数据库机器。 您也可以选择具体说出
vagrant up web
或vagrant up db
。此外,您可以指定正则表达式以仅匹配某些计算机。这在您指定许多类似计算机的某些情况下很有用,例如,如果您正在测试分布式服务,则可能有一个领导者计算机以及一个关注者0,关注者1,关注者2等。如果您想调出所有计算机关注者但不是领导者,你可以
vagrant up /follower[0-9]/
。如果Vagrant在正斜杠中看到一个机器名,它会假定你正在使用正则表达式。
此外,"主要"机:
您还可以指定主要计算机。主计算机将是未指定多计算机环境中的特定计算机时使用的默认计算机。
要指定默认计算机,请在定义默认计算机时将其标记为主计算机。只能指定一台主机。
您可以将一个虚拟机定义为主虚拟机,因此vagrant up
将只配置该计算机,您必须手动传递所有其他虚拟机名称才能配置它们。
或者您可以编写一些shell脚本,如up.bat
和up.sh
,并仅为那些操作系统所需的VM调用vagrant up VMname
。