延迟命令的执行,直到其他事情已经运行

我正在尝试编写一个盐的部署脚本。 它大部分工作。 我必须运行一段时间的高速状态才能完成。 我最大的问题是如何根据具体的第一个执行命令,并且他们实际上正在完成/工作。

这是我的demo.sls盐状态:

{% set web_root = "/var/www/demo/" %} /var/www/venv/demo: virtualenv.managed: - system_site_packages: False - require: - pkg: python-virtualenv demo: git.latest: - name: git://localhost/demo.git - target: {{ web_root }} demo_pip: cmd.wait: - name: 'source /var/www/venv/demo/bin/activate && pip install -r requirements.txt' - cwd: {{ web_root }} - watch: - git: demo run_migrations: cmd.wait: - name: 'source /var/www/venv/demo/bin/activate && python manage.py syncdb --noinput' - cwd: {{ web_root }} - watch: - cmd: demo_pip restart_gunicorn: cmd.wait: - name: supervisorctl restart gunicorn - watch: - cmd: run_migrations 

我已经设置了这样的demo_pip后git调用运行(这很好),但说实话demo_pip实际上并没有运行。 盐的输出是运行的,但没有安装requirements.txt的要求。

我试图把要求放在virtualenv.managed部分,以便运行它,但是我必须在那个时候运行2个highstates。 1)从git得到最新的,似乎运行bot独占2)安装的要求。 由于某些原因,即使在demo之后放置virtualenv.managed节,它仍然不会注册新的需求文件。

我使用错误的cmd ? 或者我有订单问题?

  • 你怎么能让一个盐执行模块在失败时返回一个非零的退出码
  • 如何在NAT后面使用Salt Stack(不可公开访问,默认salt端口未打开)?
  • 用盐为非root用户生成ssh密钥
  • 当用盐云创build一个容器时,Proxmox API将返回一个模糊的错误
  • Salt dockerng.image_present返回缺lessDocker凭据
  • 如何使用saltstack从支柱创build盐?
  • One Solution collect form web for “延迟命令的执行,直到其他事情已经运行”

    我终于明白了这一点。 它看起来像是一个文件/文件夹的权限问题。 我为/var/www所有文件夹设置了一个file.managed ,将其设置在组www-data 。 也确保一切都执行为www-data ,之后,事情开始像预期的工作。

    服务器问题集锦,包括 Linux(Ubuntu, Centos,Debian等)和Windows Server服务器.