yaml파일을 접하게 되어 yaml파일이 무엇인지 간단히 남겨두고자 한다.
YAML : 사람이 읽을 수 있는 데이터 직렬화 언어로서, 구성 파일 작성에 자주 사용됨.
- 확장자 : .yml 또는 .yaml
- 특정 구문 규칙
- # (해시기호) : 코멘트. 여러 줄의 코멘트를 지원하지 않으므로 각 줄 맨 앞에 위치할 것
- --- : 문서의 시작
- ... : 문서의 끝
- 파일 구조는 맵 또는 목록으로 들여쓰기와 키-값 정의 방식에 따라 계층 구조로 이루어져 있음
- 맵 구조 : 키-값 쌍으로 이루어져있음. 키는 고유해야하고 순서는 상관 없음
- 목록 구조 : 대시(-) 및 공백으로 시작하고 들여쓰기로 상위 항목과 구분함
- => 목록 시퀀스는 배열과 같고 목록은 맵 구조에 포함 가능
- 사용 : configuration 파일을 만들거나 쿠버네티스 리소스 및 배포, GitHub와 같은 소스 제어에 사용됨
yaml 파일은 생성 후 파일이 유효한지 확인할 때 linter라는 앱을 사용해 파일 구문을 검증하고, yaml 파일 생성 후 앱에 전달하기 전 yamllint라는 커맨드로 유효성을 확인 할 수 있다.
(참고에 있던 예제. 코멘트, 시작 표시, 키-값 맵 구조 안 배열 구조가 있는 것을 볼 수 있다. )
#Comment: Student record
#Describes some characteristics and preferences
---
name: Martin D'vloper #key-value
age: 26
hobbies:
- painting #first list item
- playing_music #second list item
- cooking #third list item
programming_languages:
java: Intermediate
python: Advanced
javascript: Beginner
favorite_food:
- vegetables: tomatoes
- fruits:
citrics: oranges
tropical: bananas
nuts: peanuts
sweets: raisins
참고 : https://www.redhat.com/ko/topics/automation/what-is-yaml