假设一个 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
。有没有办法检测构建是否发生?