Ansible/deployment:如何协调在不同服务器上按顺序运行的操作?

Ansible/deployment:如何协调在不同服务器上按顺序运行的操作?

有人知道如何创建 Ansible 剧本以正确的顺序运行以下操作吗?

  1. 在应用程序服务器上停止 Tomcat
  2. 更新数据库服务器上的数据库
  3. 更新应用服务器上的 Web 应用程序
  4. 在应用程序服务器上重新启动 Tomcat

我可以按正确的顺序运行这些操作或者在正确的服务器上。我很难命令行动让它们在一次播放中在正确的服务器上运行。任何指向答案的指针都将不胜感激!

答案1

对于想要了解更多有关如何执行此操作的详细信息的其他人,您可以按照以下步骤在单个剧本中针对多组服务器运行多个剧本:

---
- hosts: applicationservers
  tasks:
    - name: code for shutting down tomcat on application servers

- hosts: databaseservers
  tasks:
    - name: code for updating the database servers

- hosts: applicationservers
  tasks:
    - name: code for updating the webapps on the application servers

    - name: code for restarting tomcat on the application servers

您还可以使用角色来完成大部分工作,并且我建议您考虑使用处理程序来重新启动 tomcat。

相关内容