0Pricing
Ansible Academy · 강의

실행 시점의 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: nginx

import_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 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. meta/main.yml의 역할 종속성
  2. defaults와 vars: 덮어쓰기 순서
  3. 실행 시점의 include_role 및 import_role
  4. allow_duplicates 및 역할 멱등성
← Ansible Academy(으)로 돌아가기