Ansible 从“tasks/alternate.yml”而不是“tasks/main.yml”启动角色

Ansible 从“tasks/alternate.yml”而不是“tasks/main.yml”启动角色,ansible,ansible-role,Ansible,Ansible Role,我有一个大型剧本,它使用多个角色来设置新服务器。我想重复使用剧本,但在退役阶段,而不是调用role\u name/tasks/main.yml并有很多when:语句,我想告诉Ansible调用该角色,但从role\u name/tasks/decommission.yml开始 作为第一个测试,我将main.yml文件设置为: - name: "Provisioning new server" block: - name: "Include the provisioning st

我有一个大型剧本,它使用多个角色来设置新服务器。我想重复使用剧本,但在退役阶段,而不是调用role\u name/tasks/main.yml并有很多when:语句,我想告诉Ansible调用该角色,但从role\u name/tasks/decommission.yml开始

作为第一个测试,我将main.yml文件设置为:

 - name: "Provisioning new server"
   block:
     - name: "Include the provisioning steps."
       include_tasks: provision.yml
   when:
     - not decom

 - name: "DECOM - Unregister from Satellite server"
   block:
     - name: "DECOM - Include the deprovision steps."
       include_tasks: decommission.yml
   when:
     - decom
但这一点要保持下去真的很难看。这是可能的还是我忽略了另一种设置剧本的方法

告诉Ansible调用角色,但从role\u name/tasks/decommission.yml开始

使用


对我来说,您当前的main.yml看起来很干净,但为什么不让一个角色负责设置新服务器,另一个角色负责停用?工作非常完美-谢谢,很抱歉花了这么长时间才接受这个答案!
- include_role:
    name: role_name
    tasks_from: decommission.yml