如何在部署到多台服务器时在单台服务器上执行 运行 ansible 命令?

How to run ansible command on a single server during deployment to many servers?

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

为此 run_once

文档中的示例:

---
# ...

  tasks:

    # ...

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

    # ...