我正在开发用于部署 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... #}