0

我们有这 3 个 ansible-playbooks 和 Jenkins 工作:

  • 网络/部署应用
  • 应用程序/部署应用程序
  • db/deploy_app

每个 playbook 只在 2 个节点上运行,web-playbook 的清单只有 2 个主机,web01 和 web02,app-playbook 的清单只有 app01/app02。

现在我们要构建“无停机部署”,这意味着在部署 db01 之前必须关闭 app01 上的服务。

当 app01 甚至不在 db01/deploy_app playbook 的 Ansible 清单中时,如何在 Ansible 中运行 app01 的播放?

4

1 回答 1

2

当 app01 甚至不在 db01/deploy_app playbook 的 Ansible 清单中时,如何在 Ansible 中运行 app01 的播放?

为什么你有多个库存?您应该能够将所有库存合并到一个库存文件中,类似于以下内容:

[databases]
db01
db02

[webservers]
web01
web02

[appservers]
app01
app02

然后你只需在你的剧本中指定多个剧本:

- hosts: app01
  tasks: 
    - name: Some task...

- hosts: webservers
  tasks:
    - name: Some other task...
于 2015-04-04T15:54:24.637 回答