在 ansible 中检测“docker-compose build”的变化

在 ansible 中检测“docker-compose build”的变化

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

相关内容