我对用于配置Vagrant的ruby语法感到困惑。特别是这种结构。这是一项任务,方法调用还是其他什么?是纯红宝石还是流浪汉特有的方言?
config.vm.network "forwarded_port", guest: 3000, host: 3000
这一个。 “ansible”是一个赋值或参数,并且| ansible |来自?
config.vm.provision "ansible" do |ansible|
ansible.playbook = "provisioners/docker.yml"
end
我可以在哪里找到有关这些特定表达的更多信息?
答案 0 :(得分:0)
答案 1 :(得分:0)
Vagrantfile用标准的Ruby语法编写。
这是一个Vagrantfile示例
Vagrant.configure("2") do |config|
# this is an evaluation statement
# .box is an string attribute
config.vm.box = "debian/stretch64"
# this is a method call
# .synced_folder is a method that takes two positional arguments ('synced_folder', '/vagrant'),
# followed by some keyword arguments (disabled: true)
config.vm.synced_folder 'synced_folder', '/vagrant', disabled: true
# this is a method call, followed by a "do ... end" block
# .provider is a method that takes one positional argument (:libvirt)
config.vm.provider :libvirt do |node|
# these are two evaluation statements
node.cpus = 4
node.memory = 4096
end
end
根据官方文件, 您可以在“ config.vm.box (string)”中看到变量“字符串”, 但不遵循方法config-vm-provider和config-vm-synced_folder。
即使阅读了官方文档,我也对Vagrantfile语法感到困惑。 我认为这是因为与我以前使用的其他语言相比,Ruby对我来说看起来非常不同。