如果文件存在,我正在寻找一种有条件地在 Ansible 播放中包含文件的方法。如果文件不存在,不幸的是,使用“include”会引发致命错误。我正在遍历一堆包并安装它们,我想检查每个包的可选配置文件。请参见下面的简化示例:
---
- name: Basic setup of an Ubuntu box
hosts: all
vars:
packages:
- ack-grep
- vim
- zsh
- htop
- openssh-server
- cowsay
tasks:
- name: Run package configuration
action: apt name=$item
include: "packages/${item}.yml"
with_items: $packages
一旦脚本试图包含一个不存在的文件,它就会停止并出现错误。我确定我只是想以错误的方式做某事,但我已经做了几个小时并尝试了我能想到的一切,但没有结果。