1

在我的Vagrantfile我有类似的东西:

  config.vm.provision "ansible" do |ansible|
    ansible.playbook = "provisioning/main.yml"
    ansible.galaxy_role_file = "provisioning/requirements.yml"
  end

provisioning/requirements.yml包含一些从 ansible-galaxy 获取的角色。

每次vagrant provision执行时,都会重新下载所有角色。有没有办法避免每次重新下载?

4

1 回答 1

4

您可以更改默认值galaxy_command并删除该--force选项。就像是

config.vm.provision "ansible" do |ansible|
  ansible.playbook = "provisioning/main.yml"
  ansible.galaxy_role_file = "provisioning/requirements.yml"
  ansible.galaxy_command = "ansible-galaxy install --role-file=%{role_file} --roles-path=%{roles_path}"
end

请注意,角色一旦安装就不会更新,您必须手动管理。

于 2019-07-13T17:03:27.690 回答