vagrant+ansible:避免从 ansible-galaxy 再次下载
vagrant+ansible: avoid downloading again from ansible-galaxy
在我的 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
,所有角色都会重新下载一次。有没有办法避免每次都重新下载?
您可以更改默认 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
请注意,角色一旦安装就不会更新,您必须手动进行管理。
在我的 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
,所有角色都会重新下载一次。有没有办法避免每次都重新下载?
您可以更改默认 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
请注意,角色一旦安装就不会更新,您必须手动进行管理。