使用 Vagrant 测试 ansible 角色
Using Vagrant to test ansible roles
如何将引用角色的剧本的范围限制到我提供的 Vagrant 映像?
我有一本剧本:
---
- name: Test Vagrant
hosts: all
become: yes
roles:
- vagtest
这指向一个简单安装 yum 包树的角色。
我的Vagrantfile如下:
Vagrant.require_version ">= 1.7.0"
Vagrant.configure(2) do |config|
config.vm.box = "centos/7"
config.ssh.insert_key = false
config.vm.provision "ansible" do |ansible|
ansible.verbose = "v"
ansible.playbook = "vagtest.yml"
end
end
现在一切正常 - vagrant up / vagrant provision。我担心剧本中的 'hosts: all' 。有没有办法限制剧本的范围,以便只有我的流浪形象受到影响?我担心如果剧本是在 vagrant 之外执行的,那么测试剧本将在整个环境中执行。
谢谢。
您需要创建一个 hosts/inventory 文件。在该主机文件中指向您的流浪图像。
然后,将您的 hosts: all
更改为 hosts: <what you provide in your host file>
运行 与 ansible-playbook -i hosts playbook.yml
如何将引用角色的剧本的范围限制到我提供的 Vagrant 映像?
我有一本剧本:
---
- name: Test Vagrant
hosts: all
become: yes
roles:
- vagtest
这指向一个简单安装 yum 包树的角色。
我的Vagrantfile如下:
Vagrant.require_version ">= 1.7.0"
Vagrant.configure(2) do |config|
config.vm.box = "centos/7"
config.ssh.insert_key = false
config.vm.provision "ansible" do |ansible|
ansible.verbose = "v"
ansible.playbook = "vagtest.yml"
end
end
现在一切正常 - vagrant up / vagrant provision。我担心剧本中的 'hosts: all' 。有没有办法限制剧本的范围,以便只有我的流浪形象受到影响?我担心如果剧本是在 vagrant 之外执行的,那么测试剧本将在整个环境中执行。
谢谢。
您需要创建一个 hosts/inventory 文件。在该主机文件中指向您的流浪图像。
然后,将您的 hosts: all
更改为 hosts: <what you provide in your host file>
运行 与 ansible-playbook -i hosts playbook.yml