我正在设置一个Ansible手册来设置几个服务器 . 如果当前主机是我的本地开发主机,在我的主机文件中名为“local”,那么我只想运行几个任务 . 我怎样才能做到这一点?我在文档中的任何地方都找不到它 .
我在if语句时尝试了这个,但它失败了,因为 ansible_hostname
解析为创建机器时生成的主机名,而不是您在hosts文件中定义的主机名 .
- name: Install this only for local dev machine
pip: name=pyramid
when: ansible_hostname == "local"
2 回答
必要的变量是inventory_hostname .
它有点隐藏在文档at the bottom of this section中 .
您可以通过更改其播放中的主机 Headers 来限制播放簿的范围,而无需依赖清单中的特殊主机标签“本地” . Localhost在库存中不需要特殊行 .