2016-07-07 2 views
2

나는 클라이언트와 같은 역할을하는 게임 플레이 북을 가지고있다.종속성 역할에 다른 태그를 적용 할 수 있습니까?

- hosts: hosting 
    roles: 
    - { role: client1, tags: ['client1'] } 
    - { role: client2, tags: ['client2'] } 

각 역할마다 예를 들어 nginx에 대한 의존성이 있습니다. 가 필요하지 않을 때

/roles/client1/meta/main.yml 
dependencies: 
    - nginx 

나는 에게의 nginx 역할을 실행하지 싶습니다. 그래서 의존성에 nginx 태그를 추가했습니다.

/roles/client1/meta/main.yml 
dependencies: 
    - { role: nginx, tags: ['system'] } 

그러나 client1 태그가있는 플레이 북을 실행하면 nginx 역할이 실행됩니다. 이를 피할 수있는 해결책이 있습니까?

필자는 플레이 북에 대한 의존성을 "내보낼"수 있다는 것을 알고 있지만 잘 작동한다고 생각하지만 좋은 해결책은 아닙니다.

- hosts: hosting 
    roles: 
    - { role: nginx, tags: ['system'] } 
    - { role: client1, tags: ['client1'] } 
    - { role: client2, tags: ['client2'] } 

답변

4

태그는 서로 오버라이드하지 않지만 합계입니다. 의존성에 이제 client1system 태그가 있습니다.

하지만 이미 충분합니다. 게임 패드를 호출 할 때 시스템 태그를 건너 뛰는 것이 가능하다고 말하면됩니다.

ansible-playbook ... --tags client1 --skip-tags system 
+0

감사합니다. @udondan – elhostis

관련 문제