📜
YAML 파일에 대해 알아보자
April 23, 2024
YAML 에 대해 알아보자
쿠버네티스를 배우면서 본격적으로 사용하는 환경이 YAML이기에 간단하게 정리해보는 YAML 문법이다.
기본문법
문서의 시작과 끝
문서의 시작은 - - -
를 적으면 되며, 선택 사항이다.
문서의 끝은 . . .
를 적으면 되며, 선택 사항이다.
들여쓰기(indent)
들여쓰기는 2, 4칸을 지원한다.
# 2칸버전
data:
name: Paul
age: 31
job: Backend Developper
skills:
- JAVA
- docker
# 4칸버전
data:
name: Paul
age: 31
job: Backend Developper
skills:
- JAVA
- docker
데이터 정의(map)
데이터는 키와 값의 형식을 띄고 있다.
# 2칸버전
data:
name: Paul
age: 31
job: Backend Developper
skills:
- JAVA
- docker
객체 표현
기본적으로 특정 키 아래에 새로운 키와 값으로 구성된다.
key:
subKey1: value
subKey2: value
# 객체 처럼 감싸기도 가능
key2: {
subKey1: value,
subKey2: value
}
배열 정의(array)
배열은 하이픈을 활용해서 작성이 가능하다. 또한 리스트 식으로 대괄호로 묶는 방법도 있다.
# 2칸버전
data:
name: Paul
age: 31
job: Backend Developper
skills:
- JAVA
- docker
skills2: [
item1, item2
]
주석(comment)
# 주석은 샵을 활용한다.
표현 방식
- 참 거짓 표현이 가능하고,
true
,false
, 외에yes
,no
를 지원한다.
study_hard: yes
give_up: no
hello: True
world: TRUE
manual: false
- 숫자 : 정수 또는 실수로, 따옴표 없이 사용하면 인식 한다.
# number
version: 2.0
# 문자열 표현
version: "2.0"
개행
여러줄 적어야 할 경우가 있는데 이럴때 사용한다.
new_line_test: |
first line
second line
third line
위의 내용을 json으로 변환하면 다음과 같다.
{
"new_line_test": "first line \n\nsecond line\n\nthird line\n"
}
이때 바리에이션이 있다.
마지막 개행 삭제
# 마지막 줄바꿈 제외
new_line_test: | -
first line
second line
third line
{
"new_line_test": "first line \n\nsecond line\n\nthird line"
}
중간 개행 삭제
# 중간에 들어간 빈줄은 삭제
new_line_test: >
first line
second line
third line
{
"new_line_test": "first line \nsecond line\nthird line\n"
}
주의사항
띄워쓰기
key 와 value 사이에는 반드시 빈칸이 필요하다.
# error (not key-value, string)
key:value
# ok
key: value
문자열 따옴표 사용
일반적으로 따옴표 없이 문자열 작성하면 자동으로 인식이 되나, :
가 들어가는 값은 반드시 따옴표로 감싸줄 것
# error
windows_drive: c:
# ok
windows_drive: "c:"
windows_drive: 'c:'
참고 사항
JSON to YAML
링크 말 그대로 변환해주는 사이트. 내용 체크용으로 훌륭해 보임
YAML Lint
링크 문법적으로 문제가 있는지 확인이 가능한 사이트