SaltStack:仅当 git checkout 发生更改时才安装 pip

SaltStack:仅当 git checkout 发生更改时才安装 pip

我正在开发用于部署 Python 应用程序的 salt state。它基本可以正常工作。我遇到的一个问题是每次运行 salt minion 时 pip install 都会运行。我只希望它在 git checkout 中有新提交时运行。我尝试了 onchange 和 watch 要求,但这没有帮助。

这是我的盐状态:

dmt src:
  git.latest:
    - target: /opt/dmt/src/dmt
    - name: [email protected]:lsd/dmt.git
    - identity: /opt/dmt/src/deploy_id_rsa
    - force: True
    - force_checkout: True
    - force_reset: True
    - require:
      - file: /opt/dmt/src
      - file: /opt/dmt/src/deploy_id_rsa


dmt virtualenv:
  virtualenv.managed:
    - name: /opt/dmt
    - system_site_packages: False
    - use_wheel: True
    - python: /usr/bin/python2

dmt pip install:
  pip.installed:
    - onchange:
      - git: dmt src
    - requires:
      - virtualenv: dmt virtualenv
    - name: ""
    - pip_bin: /opt/dmt/bin/pip
    - editable: /opt/dmt/src/dmt

pip install当 git checkout 中有新的提交时,如何才能使其仅运行?

答案1

我相信它是复数:“onchanges

dmt pip install:
  pip.installed:
    - onchanges:
      - git: "dmt src"
    - requires:
      - virtualenv: "dmt virtualenv"
    {# ...snip... #}

相关内容