如何仅在剧本中的一个角色上调用标记任务?

时间:2019-04-12 12:31:37

标签: ansible ansible-role

我有一本剧本,而不是发布多个角色,其中一个角色负责管理sophos防病毒软件的安装和卸载。它可以使用标签来处理安装或取消管理,但显然并不能同时进行。 因此,我的问题是,如何在剧本中使用标签install分配该角色,而又不使该角色内的所有任务超载?我只想执行标记任务,就象一般任务的预期用途一样。

我尝试了几种语法,但似乎没有用,它总是使带有标签的所有任务过载,而不是执行带有标签的任务:

  roles:
    - role: ../roles/repos.linux
    - role: ../roles/sophos
      tags: [install,check]

or   roles:
    - role: ../roles/repos.linux
    - {role: ../roles/sophos, tags: install,check}

预期:

  

角色仅执行被标记的任务

实际:

  

每个任务都充满了我尝试执行的标签

1 个答案:

答案 0 :(得分:0)

使用include_role。例如:

// This is now `<R>(fn: (s: number) => R)`
const foo: F<number> = cb => cb(1);
// num is a number
const bar = foo<string>(num => num.toString());
// invalid because `num` is a number which does not have `length`
const baz = foo<string>(num => num.length);
// invalid because we're returning a boolean instead of a string
const quux = foo<string>(num => !!num);