【问题标题】:How to run ansible command on a single server during deployment to many servers?在部署到多台服务器期间如何在单台服务器上运行 ansible 命令?
【发布时间】:2017-06-06 13:02:55
【问题描述】:

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

【问题讨论】:

    标签: symfony ansible devops doctrine-migrations


    【解决方案1】:

    这里有run_once

    文档中的示例:

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

    【讨论】:

      最近更新 更多