Jenkins 如何在Ansible资源清册之外的主机上运行播放?

Jenkins 如何在Ansible资源清册之外的主机上运行播放?,jenkins,ansible,ansible-inventory,Jenkins,Ansible,Ansible Inventory,我们有以下3个ansible剧本和Jenkins工作: web/deploy\u应用程序 应用程序/部署应用程序 数据库/部署应用程序 每个playbook仅在2个节点上运行,web playbook的资源清册仅包含2台主机web01和web02,app playbook的资源清册仅包含app01/app02 现在我们想要构建“无停机部署”,这意味着在部署db01之前,必须关闭app01上的服务 当app01甚至不在db01/deploy_应用程序剧本的Ansible资源清册中时,如何在An

我们有以下3个ansible剧本和Jenkins工作:

  • web/deploy\u应用程序
  • 应用程序/部署应用程序
  • 数据库/部署应用程序
每个playbook仅在2个节点上运行,web playbook的资源清册仅包含2台主机web01和web02,app playbook的资源清册仅包含app01/app02

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

当app01甚至不在db01/deploy_应用程序剧本的Ansible资源清册中时,如何在Ansible中的app01上运行播放

当app01甚至不在db01/deploy_应用程序剧本的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...