📄

Yaml, 오래 썼지만, 한 번도 제대로 써보진 않은

Created
Mar 20, 2024 12:22 AM
Tags
yaml
YAML로 작성되는 docker-compose
YAML로 작성되는 docker-compose
ScYAML은 YAML Ain’t Markup Language의 줄임말이다. 너드들이 지배하는 소프트웨어 엔지니어링 필드답게 재귀적으로 반복되는 이름이다. 보통 configuration 작성시 사용되는데, 쿠버네티스나 도커 등에서 일반적으로 볼 수 있다.
 
너무 흔하게 사용되어서 오히려, 한 번도 제대로 살펴본 적은 없고 관성적으로만 썼던 것 같아 한번 각 잡고 정리해본다.
 

기본 구조

들여쓰기

YAML은 구조를 잡을 때 들여쓰기를 사용한다. (공백이나 탭이 아니다)
version: '3.7' services: app: build: .
 

key-value pair

YAML은 설정파일 답게 Key와 Value로 구성된다.
key1: value1 key2: value2
 

Scalars, Sequences, Mappings

Scalars

문자열, 숫자, 불리언과 같은 단일 값.
key: value
 
 

Sequences

항목의 순서가 존재하는 리스트. 하이픈(-)으로 표시한다.
apps: - db - redis - app
 

mappings

키와 값의 쌍으로 이루어지는 구조이며, 중첩하여 보다 복잡한 구조를 생성할 수 있다.
아래처럼 key 및에 key:value 구조로도, 혹은 list 구조로도 중첩 가능하다.
person: name: "John Doe" age: 30 married: true children: - James - Amy - Mary
 
 

다중문서

하나의 문서에 여러 파일을 포함시키는 방법이며 “-”을 세번 사용한다.
--- document1: 첫번째 --- document2: 두번째
 

주석

주석은 “#”로 시작한다.
key: value # 주석이다 # 이것도 주석