![在 ansible 中检测“docker-compose build”的变化](https://linux22.com/image/752388/%E5%9C%A8%20ansible%20%E4%B8%AD%E6%A3%80%E6%B5%8B%E2%80%9Cdocker-compose%20build%E2%80%9D%E7%9A%84%E5%8F%98%E5%8C%96.png)
假设一个 ansible 任务执行docker-compose pull
,并报告如下结果:
changed_when: "'... pull complete' in result.stderr |default('')"
这是因为 stdout 仅在第一次显示“...拉取完成” - 如果图像存在则不存在。
有没有类似方法处理docker-compose build
?
- name: foo
shell: "docker-compose build"
args:
chdir: "{{FOO_PATH}}"
register: result
changed_when: "'???' in result.stderr |default('')" # <----------- ?
无论我是第一次构建图像,还是它已经存在,stdout 总是向我显示:
成功构建 fbd38aa5b45a
成功标记 foo/bar:latest
我还检查了“$?”,它始终为0
。有没有办法检测构建是否发生?