如何在部署到多台服务器的过程中在单个服务器上运行ansible命令?

时间:2017-06-06 13:02:55

标签: symfony ansible devops doctrine-migrations

我正在使用Ansistrano部署我的Symfony2应用程序。应用程序使用Doctrine,oso我也使用DoctrineMigrationsBundle。现在,我的问题是我想在部署过程结束时运行数据库迁移,但我希望只调用一次这个操作,我知道默认情况下ansible在所有给定服务器上运行playbook中的所有命令。有没有办法告诉ansible在我部署代码的所有服务器上运行单个服务器上的特定命令?

1 个答案:

答案 0 :(得分:2)

这是run_once

文档示例:

---
# ...

  tasks:

    # ...

    - command: /opt/application/upgrade_db.py
      run_once: true

    # ...