我有一个角色,必须创建目录列表。哪些目录最终出现在列表中取决于运行时评估的几个条件。
当我使用该file模块时,如图所示,速度非常慢。创建甚至检查每个目录是否存在大约需要半秒,在我遇到的场景中很容易就达到几分钟。
流水线已启用。
- name: Create directories
file:
path: "{{ item }}"
state: directory
with_items:
- "{{ dirs }}"
when:
- dirs is defined
Run Code Online (Sandbox Code Playgroud)
这里已经提出了类似的问题,但是,按照那里的建议,使用synchronizeor unarchive,对于事先未知的目录来说似乎非常尴尬,因为要同步的目录结构首先必须在本地主机上的某个地方创建。
还有其他替代方案可以解决这个问题吗?我可能错过了?
编辑:我知道shell并且command恰好mkdir -p是幂等的。不过我更喜欢一种方式,由 ansible 管理目录的状态。
ansible ×1