앤서블에서 실행할 태스크를 제어할 수 있다.
가끔 앤서블이 플레이북의 모든 태스크를 실행하는 것을 원치 않을 수 있다.
특히 플레이북을 처음 작성하고 디버깅할 때 더욱 그렇다. 앤서블은 실행할 태스크를 제어할 수 있는 커맨드 라인 옵션을 제공한다.
1) step
--step 플래그는 다음처럼 각 태스크를 실행하기 전에 앤서블 프롬프트를 표시한다.
Perform task: install packages (y/n/c):
태스크를 실행하거나(y) 건너 뛰거나(n) 프롬프트를 표시하지 않고 나머지 플레이북을 계속 실행하도록 앤서블에 알릴 수 있다(c).
$ ansible-playbook --step playbook.yml
2) start-at-task
--start-at-task <태스크 이름> 플래그는 처음부터가 아닌 지정된 태스크에서 플레이북을 실행하기 시작하도록 앤서블에 알려준다.
태스크 중 하나에 버그가 있어서 태스크 중 하나가 실패해서 실패한 태스크를 수정해 해당 태스크부터 시작해 플레이북을 다시 실행하고 싶을 때 유용할 수 있다.
$ ansible-playbook --start-at-task="install packages" playbook.yml
3) tags
앤서블에서는 하나 이상의 태그를 태스크 또는 플레이에 추가할 수 있다. 예를 들어 foo라는 태그가 붙은 플레이와 bar와 quux라는 태그가 붙은 플레이가 있다.
- hosts: myservers
tags:
- foo
tasks:
- name: install editors
apt: name={{ item }}
with_items:
- vim
- emacs
- nano
- name: run arbitrary command
command: /opt/myprog
tags:
- bar
- quux
-t <태그 이름> 플래그와 --tags <태그 이름> 플래그를 사용해 특정 태그를 포함한 플레이와 태스크만 실행하도록 앤서블에 알린다. --skip-tags <태그 이름> 플래그를 사용해 앤서블에 특정 태그를 포함한 플레이와 태스크를 건너 뛰라고 알린다.
태그를 실행하거나 건너뛰기
$ ansible-playbook -t foo,bar playbook.yml
$ ansible-playbook --tags=foo,bar playbook.yml
$ ansible-playbook --skip-tags=baz,quux playbook.yml
'Ansible-Puppet-Chef' 카테고리의 다른 글
DNS와 앤서블 (0) | 2019.06.17 |
---|---|
[ansible] 실행하기 전에 플레이북 확인하기 (0) | 2019.02.17 |
vagrant의 multi-VM environment 설정 예시 (0) | 2019.01.27 |
ansible에서 태스크 실행 시간과 플레이북의 전체 실행 시간 보기 (0) | 2019.01.26 |
앤서블의 호스트 지정 패턴 (0) | 2019.01.19 |