문제 해결을 위한 플레이북 실행

문제 해결을 위한 플레이북 실행 (Executing playbooks for troubleshooting)

새로운 플레이를 테스트하거나 플레이북을 디버깅할 때는 같은 플레이북을 여러 번 실행해야 하는 경우가 많아요. 이런 상황을 더 효율적으로 만들기 위해 Ansible은 두 가지 대안적인 실행 방식을 제공해요. 바로 start-at-task와 step 모드예요.

출처: 문서

본문

새로운 플레이를 테스트하거나 플레이북을 디버깅할 때는 같은 플레이북을 여러 번 실행해야 할 수 있어요. 이 과정을 더 효율적으로 만들기 위해 Ansible은 플레이북을 실행하는 두 가지 대안적인 방식을 제공해요. 바로 start-at-task와 step 모드예요.

start-at-task

플레이북 실행을 특정 작업(task)부터 시작하고 싶다면(보통 이전 실행에서 실패한 작업을 말해요), --start-at-task 옵션을 사용하세요.

ansible-playbook playbook.yml --start-at-task="install packages"

이 예시에서 Ansible은 "install packages"라는 이름의 작업부터 플레이북을 실행해요. 그 작업을 포함한 플레이에 플레이 레벨의 팩트 수집(fact gathering)이나 인자 검증이 있다면, 그 암시적인 플레이 레벨 작업들이 먼저 실행돼요.

참고: 이 기능은 동적으로 재사용된 롤(role)이나 작업 안의 작업(include_*)에는 동작하지 않아요. 자세한 내용은 include와 import 비교: 동적/정적 재사용을 참고하거나, 작업을 건너뛰려면 step을, 작업을 다시 실행하려면 플레이북 디버거를 사용하세요.

Step 모드

플레이북을 대화형으로 실행하려면 --step을 사용하세요.

ansible-playbook playbook.yml --step

이 옵션을 쓰면 Ansible은 각 작업마다 멈춰서 그 작업을 실행할지 물어봐요. 예를 들어 "configure ssh"라는 작업이 있다면 플레이북 실행이 멈추고 물어봐요.

Perform task: configure ssh (y/n/c):

"y"를 입력하면 작업을 실행하고, "n"을 입력하면 작업을 건너뛰고, "c"를 입력하면 step 모드를 종료해서 나머지 모든 작업을 묻지 않고 실행해요.

더 알아보기 (Learn more)