[CI/CD]YAML
Yet Another Markup Language. 사람이 읽을 수 있는 데이터 직렬화 언어
.yaml 혹은 .yml 확장자
JSON vs YAML
JSON 파일과 YAML 파일은 key-value 형태로 작성된 파일, 계층 구조를 가짐
- YAML
""
없이 문자열 작성 가능{}
형태로 감싸줄 필요 없음- 주석 작성 가능
- yaml을 json으로 변환해 사용 가능
YAML 문법
#
- 주석
---
- 문서의 시작 (선택사항)
...
- 문서의 끝 (선택사항)
key: value
- 기본표현, :
다음 부조건 공백
자료형
int, string, boolean, 리스트, 매핑 지원
int와 string 타입은 스칼라(Scalar), 배열 혹은 리스트는 시퀀스(Sequence)
매핑은 기본 표현인 key-value 쌍 및 hash, dictionary 포함
#int(숫자)
int_type: 1
#string(문자열)
string_type: "1"
#blooean(참/거짓)
boolean_true_type: true
boolean_false_type: false
#이외에 yes, no로 작성하기도 합니다.
yaml_easy: yes
yaml_difficult: no
#리스트(배열 형태)
person:
name: Chungsub Kim
job: Developer
skills:
- docker
- kubernetes
# JSON 형식의 "skill" : [docker, kubernetes]와 같습니다.
객체
key:
key: value
key: value
# 혹은
key: {
key: value,
key: value
}
Text
# | - 줄바꿈
comment_line_break: |
Hello
Im dK
# JSON - "comment_line_break": "Hello \nIm dK\n"
# > - 줄바꿈 무시
comment_single_line: >
Hello
Im dK
# JSON - "comment_single_line": "Hello Im dK"
문자열 따옴표
windows_drive: d:
# 에러남
# 이렇게 쓰렴
windows_drive: "d:"
windows_drive: 'd:'
YAML 사용법 및 실제 사용 사례
설정 파일(configure file 등)에 사용
spring boot, github action 등 다양한 CI/CD 툴이나 프레임워크에서 사용
댓글남기기