실행 시점의 include_role 및 import_role
플레이 중간에 역할을 동적으로 호출합니다.
실행 시점의 include_role 및 import_role은(는) CoddyKit의 무료 Ansible Academy 강의입니다. 이것은 4개 중 3번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Ansible Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Ansible Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
roles 목록 너머
최상위 roles 목록은 어떤 작업이 실행되기 전에 역할을 적용합니다. 때로는 작업이 배치된 정확한 위치에서 플레이 중간에 역할을 실행해야 합니다.
작업으로 역할 호출하기
include_role과 import_role은 모두 tasks 구역 안에서 역할을 호출하여 다른 단계와 같은 흐름으로 실행하게 합니다.
tasks:
- import_role:
name: nginximport_role은 정적입니다
import_role은 플레이북이 분석될 때, 실행이 시작되기 전에 처리됩니다. 작업이 일찍 삽입되므로 실행 중 데이터에 의존할 수 없습니다.
include_role은 동적입니다
include_role은 실행 중 해당 작업에 도달한 순간 처리됩니다. 사실과 등록된 결과에 따라 동작할 수 있습니다.
tasks:
- include_role:
name: backup
when: do_backup역할 반복 실행하기
include_role은 동적으로 실행되므로 반복문에 넣고 반복할 때마다 다른 변수와 함께 같은 역할을 적용할 수 있습니다.
- include_role:
name: deploy_app
loop: "{{ app_list }}"import_role은 반복할 수 없습니다
import_role은 분석 시점에 해결되므로 loop를 지원하지 않습니다. 역할을 반복해야 할 때는 include_role을 사용하십시오.
when 동작이 달라지는 방식
import_role에 지정한 when은 내부의 모든 작업에 조건으로 복사됩니다. include_role에 지정한 when은 역할 전체를 하나의 단위로 제어합니다.
어느 방식으로든 변수 전달하기
두 형식 모두 roles 목록과 마찬가지로 역할을 매개변수화하는 vars를 받습니다. 값은 포함된 역할로 바로 전달됩니다.
- include_role:
name: web
vars:
http_port: 8080태그와 정적·동적 방식
import_role을 사용하면 가져온 작업의 태그가 --list-tags에 표시됩니다. include_role을 사용하면 include 자체에 태그를 적용해야 합니다.
적절한 도구 선택하기
예측 가능하고 항상 실행되는 구조에는 import_role을 사용하십시오. 역할을 조건부로 실행하거나 반복해야 할 때는 include_role을 사용하십시오.
같은 패턴, 두 가지 수준
Ansible은 작업 파일에도 동일한 정적·동적 구분을 제공합니다. import_tasks와 include_tasks는 이러한 역할 키워드와 정확히 대응합니다.
빠른 확인
반복문 안에서 역할을 적용할 수 있는 키워드가 무엇인지 떠올려 보십시오.
복습
정적이고 분석 시점에 결정되는 구조에는 import_role을 사용하고, 반복문과 조건을 포함한 동적 실행에는 include_role을 사용하십시오. 🔁
자주 묻는 질문
“실행 시점의 include_role 및 import_role” 강의는 무료인가요?
네 — “실행 시점의 include_role 및 import_role” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Ansible Academy 강의 전체를 잠금 해제할 수 있습니다. Ansible Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“실행 시점의 include_role 및 import_role”에서 뭘 배우나요?
플레이 중간에 역할을 동적으로 호출합니다. 브라우저에서 직접 실행하는 실습 코드로 Ansible Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Ansible Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Ansible Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 3번째 강의입니다.
“실행 시점의 include_role 및 import_role” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Ansible Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Ansible Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- meta/main.yml의 역할 종속성
- defaults와 vars: 덮어쓰기 순서
- 실행 시점의 include_role 및 import_role
- allow_duplicates 및 역할 멱등성