在 ansible-playbook 命令行中传递主机组名
Passing host group name in ansible-playbook command line
我有一个库存文件
示例:
[groupa]
10.102.16.100
10.102.16.101
[groupa:vars]
app=testapp-a
env=staging
[groupb]
10.102.16.102
10.102.16.103
[groupb:vars]
app=testapp-b
env=production
现在如果我运行
ansible-playbook -i ./example playbook-x.yml
这将 运行 所有主机。
有什么方法可以在命令行本身中指定组名。
我期待
ansible-playbook -i ./example --group-name groupb playbook-x.yml
您可以使用--limit来指定群组,
ansible-playbook -i ./example playbook-x.yml --limit groupa
hosts
playbook 字段也可用于定位特定组,例如,
- hosts: groupa
tasks:
...
我认为您想动态定位广告资源组;一种简单的方法是将主机作为剧本中的变量传递。
---
hosts: “{{target}}”
tasks:
虽然 运行 playbook 传递目标变量,如“ansible-playbook playbook-x.yml -i ./example -e target=groupa”
我有一个库存文件
示例:
[groupa]
10.102.16.100
10.102.16.101
[groupa:vars]
app=testapp-a
env=staging
[groupb]
10.102.16.102
10.102.16.103
[groupb:vars]
app=testapp-b
env=production
现在如果我运行
ansible-playbook -i ./example playbook-x.yml
这将 运行 所有主机。 有什么方法可以在命令行本身中指定组名。
我期待
ansible-playbook -i ./example --group-name groupb playbook-x.yml
您可以使用--limit来指定群组,
ansible-playbook -i ./example playbook-x.yml --limit groupa
hosts
playbook 字段也可用于定位特定组,例如,
- hosts: groupa
tasks:
...
我认为您想动态定位广告资源组;一种简单的方法是将主机作为剧本中的变量传递。
---
hosts: “{{target}}”
tasks:
虽然 运行 playbook 传递目标变量,如“ansible-playbook playbook-x.yml -i ./example -e target=groupa”