defaults와 vars: 덮어쓰기 순서
깔끔한 역할 변수 인터페이스를 설계합니다.
defaults와 vars: 덮어쓰기 순서은(는) CoddyKit의 무료 DevOps Bootcamp 강의입니다. 이것은 4개 중 2번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 DevOps Bootcamp 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.
두 변수 폴더
역할은 defaults/main.yml과 vars/main.yml, 두 곳에서 변수를 정의할 수 있습니다. 둘은 비슷해 보이지만 동작은 매우 다릅니다.
defaults는 유연합니다
defaults/main.yml의 값은 우선순위가 가장 낮습니다. 다른 거의 모든 설정으로 재정의할 수 있는 유연한 기본 제안입니다.
# defaults/main.yml
http_port: 80
workers: 4vars는 강제력이 높습니다
vars/main.yml의 값은 우선순위가 높습니다. 역할이 반드시 사용하려는 확정된 값이므로 재정의하기 어렵습니다.
# vars/main.yml
config_path: /etc/myappdefaults는 공개 API입니다
사용자가 조정할 수 있는 값은 무엇이든 defaults에 넣으십시오. 자유롭게 변경해도 된다는 의미입니다. 이렇게 해야 친숙하고 재사용 가능한 역할을 설계할 수 있습니다.
vars는 내부 상수입니다
vars에는 역할이 작동하는 데 필요하지만 사용자가 변경해서는 안 되는 값만 두십시오. 예를 들어 내부 경로나 고정된 패키지 이름이 해당합니다.
기본값은 쉽게 재정의할 수 있습니다
사용자는 group_vars, host_vars, 플레이 또는 명령줄에서 default를 재정의할 수 있습니다. 가장 간단한 재정의가 즉시 적용됩니다.
roles:
- role: web
vars:
http_port: 8080vars 값은 재정의하기 어렵습니다
역할의 vars는 group_vars, host_vars, 플레이 변수를 능가합니다. 명령줄의 extra-vars만 이보다 우선하므로 vars는 신중하게 사용하십시오.
Extra Vars는 항상 우선합니다
명령줄에서 -e로 전달한 변수는 역할의 vars를 포함한 모든 다른 출처보다 우선합니다. 최종 재정의 수단입니다.
ansible-playbook site.yml -e http_port=9090머릿속에 그릴 우선순위
순서를 기억하십시오. 아래에는 defaults가 있고, 그 위에 인벤토리 및 플레이 변수가 있으며, 상단 근처에 역할 vars가 있고, 그 위를 extra-vars가 차지합니다.
설계 팁
거의 모든 경우에 defaults를 우선 사용하십시오. 값이 정말 고정되어야 할 때만 vars를 사용하십시오. 유연한 역할은 팀을 편하게 합니다.
기본값 문서화하기
defaults/main.yml의 각 값에 주석을 작성하십시오. 사용자가 이 값을 조정하므로 명확한 설명이 역할을 스스로 설명하는 자동화로 만들어 줍니다.
빠른 확인
사용자가 가장 쉽게 재정의할 수 있는 파일이 무엇인지 생각해 보십시오.
복습
사용자가 재정의할 수 있는 조정 가능한 값에는 defaults를 사용하고, 고정된 내부 상수에는 vars를 사용하십시오. CLI의 extra-vars가 모든 설정에 우선합니다. 🎚️
자주 묻는 질문
“defaults와 vars: 덮어쓰기 순서” 강의는 무료인가요?
네 — “defaults와 vars: 덮어쓰기 순서” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 DevOps Bootcamp 강의 전체를 잠금 해제할 수 있습니다. DevOps Bootcamp 강의에는 총 4개의 강의가 포함되어 있습니다.
“defaults와 vars: 덮어쓰기 순서”에서 뭘 배우나요?
깔끔한 역할 변수 인터페이스를 설계합니다. 브라우저에서 직접 실행하는 실습 코드로 DevOps Bootcamp을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
DevOps Bootcamp을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 DevOps Bootcamp은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 2번째 강의입니다.
“defaults와 vars: 덮어쓰기 순서” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 DevOps Bootcamp 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 DevOps Bootcamp 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- meta/main.yml의 역할 종속성
- defaults와 vars: 덮어쓰기 순서
- 실행 시점의 include_role 및 import_role
- allow_duplicates 및 역할 멱등성