将制作规则转换为 ansible



我在制作文件中有以下内容:

some_file: some_script
bash some_script > $@

并希望在 Ansible playbook 任务中复制这一点,在该任务中,运行任务会重新创建文件,但前提是生成的脚本文件已更改,否则将无操作。有没有办法使用库存的 ansible 模块来实现这一点?

您必须分两个阶段执行:收集信息,然后有条件地执行

vars:
files:
- some_file
- some_script
tasks:
- stat: path={{ item }}
register: stats
with_items: '{{ files }}'
- debug:
msg: '{{ stats.results[0].stat.path }} is newer than {{ stats.results[1].stat.path }}'
when: '{{ stats.results[0].stat.mtime > stats.results[1].stat.mtime }}'

最新更新