在其中一个ansible角色中,我们提取了一些tar.gz文件,然后我们将其中一个提取的文件替换为另一个,以解决一些问题。
问题是当我们再次运行ansible时,ansible正在重新提取存档,因为目录内容已更改并自然标记任务已更改,并且还会按预期再次替换该文件。
所以每次我们运行剧本时,我们都会有两个“变化”...
如何处理此问题以保持操作的幂等性?
答案 0 :(得分:3)
使用exclude
选项忽略某些路径,请参阅documentation。
即。
- unarchive:
src: https://example.com/example.zip
dest: /usr/local/bin
remote_src: True
exclude: bad.config
creates
也可能适合您,如果远程计算机上已存在指定路径,则无法运行unarchive步骤