1

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

4

1 回答 1

2

run_once为此。

文档中的示例:

---
# ...

  tasks:

    # ...

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

    # ...
于 2017-06-06T13:11:11.853 回答