Helm: helm ํŒจํ‚ค์ง€์— --values โ€‹โ€‹๋ฐ --set ํ”Œ๋ž˜๊ทธ ์ถ”๊ฐ€

์— ๋งŒ๋“  2017๋…„ 11์›” 15์ผ  ยท  62์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: helm/helm

์„ค์น˜ ๋ฐ ์—…๊ทธ๋ ˆ์ด๋“œ ์ง€์› --values โ€‹โ€‹ํ”Œ๋ž˜๊ทธ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ helm ํŒจํ‚ค์ง€ ๋ช…๋ น์—๋„ ๋™์ผํ•˜๊ฒŒ ์ง€์›ํ•˜์‹ญ์‹œ์˜ค.

๊ฒฐ๊ณผ ํŒจํ‚ค์ง€ ์•„์นด์ด๋ธŒ์—๋Š” --values โ€‹โ€‹ํ”Œ๋ž˜๊ทธ๋ฅผ ํ†ตํ•ด ์ œ๊ณต๋œ ๊ฐ’ ํŒŒ์ผ๊ณผ ๋ณ‘ํ•ฉ๋œ ์ƒ์œ„ ์ฐจํŠธ์˜ ๊ฐ’ ํŒŒ์ผ์ด ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

๋‚ด๊ฐ€ ์—ด์—ˆ๋˜ ๋ฌธ์ œ( #3198 )์— ์ข‹์€ ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

helm package --version 1.2.3 --set image.tag 1.2.3

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ฐจํŠธ ๋ฒ„์ „๊ณผ ๋„์ปค ์ด๋ฏธ์ง€ ๋ฒ„์ „์ด ํ•˜๋‚˜๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

๋ชจ๋“  62 ๋Œ“๊ธ€

๊ด€๋ จ ์š”์ฒญ: #2566

๋‚˜๋Š” ์ด๊ฒƒ์— ๋Œ€ํ•œ ์ž‘์—…์„ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.
#2566์— ๋Œ€ํ•œ ์˜๊ฒฌ์„ ๊ณ ๋ คํ•  ๋•Œ --values โ€‹โ€‹๋˜๋Š” --set(๋˜๋Š” ๋‘˜ ๋‹ค?)์„ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ?

๋‚ด๊ฐ€ ์—ด์—ˆ๋˜ ๋ฌธ์ œ( #3198 )์— ์ข‹์€ ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ ์„ค๋ช…๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

helm package --version 1.2.3 --set image.tag 1.2.3

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ฐจํŠธ ๋ฒ„์ „๊ณผ ๋„์ปค ์ด๋ฏธ์ง€ ๋ฒ„์ „์ด ํ•˜๋‚˜๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

๋ฐฉ๊ธˆ ์ฒซ ๋ฒˆ์งธ ์ดˆ์•ˆ์„ ์™„์„ฑํ•˜๊ณ  ์ด์— ๋Œ€ํ•œ PR์„ ๊ฒŒ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.

@ngeor , @slavic ์ œ๊ฐ€ ์ œ์ถœํ•œ PR์€ --set ๋ฐ --values โ€‹โ€‹์˜ต์…˜์„ ๋ชจ๋‘ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ ๋ด์ฃผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?

์•ˆ๋…•ํ•˜์„ธ์š” @adshmh , ์ข‹์•„ ๋ณด์ž…๋‹ˆ๋‹ค. ๋ถˆํ–‰ํžˆ๋„ ๋‚˜๋Š” Go๋ฅผ ๋ชจ๋ฅด์ง€๋งŒ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์™€ ๋ชจ๋“  ๊ฒƒ์œผ๋กœ ๋‹น์‹ ์ด ๊ทธ๊ฒƒ์„ ๋ฎ์€ ๊ฒƒ์„ ๋ณด์•˜์œผ๋ฏ€๋กœ ์•„๋งˆ๋„ ๊ทธ๊ฒƒ์ด ๋งํ•˜๋Š” ๋Œ€๋กœ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค :) ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์ด ๊ธฐ๋Šฅ์€ ์–ธ์ œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? 2.9.0์—์„œ?

3471์€ 2.9์˜ ๊ธฐํ•œ์„ ๋†“์ณค์œผ๋ฏ€๋กœ 2.10์ด ๋ฉ๋‹ˆ๋‹ค.

#3471์„ ์ทจ์†Œํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ด๊ฒƒ์„ ๋‹ค์‹œ ์—ฝ๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์•„์นด์ด๋ธŒ ํŒจํ‚ค์ง€์˜ ์ฃผ์„/๊ธฐํƒ€์— ๋ฌด์—‡์„ ํ•ฉ๋‹ˆ๊นŒ? ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฒ—๊ฒจ์ง€๊ฑฐ๋‚˜ ํ˜ผ์ž ๋‚จ๊ฒจ์ง€๊ฑฐ๋‚˜ ??

ํ˜„์žฌ yq ๋กœ ๋™์ผํ•œ ์ž‘์—…์„ ์‹œ๋„ํ•˜๊ณ  ์žˆ์ง€๋งŒ ์ฒ˜๋ฆฌ ํ›„ ์ตœ์ข… ๊ฐ’๋งŒ ๋คํ”„ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ชจ๋“  ์ฃผ์„, ์ •๋ฆฌ๋ฅผ ์œ„ํ•œ ๋นˆ ์ค„ ๋“ฑ์ด ์‚ฌ๋ผ์กŒ์Šต๋‹ˆ๋‹ค.

3471์€ ๋ชจ๋“  ์ฃผ์„์„ ์ œ๊ฑฐํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น PR์„ ์ทจ์†Œํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ https://github.com/kubernetes/helm/pull/3471#issuecomment -381779783์„ ์ฐธ์กฐํ•˜์„ธ์š”.

2.10 "feat: 'helm ํŒจํ‚ค์ง€'์— --set ๋ฐ --values โ€‹โ€‹์˜ต์…˜ ์ถ”๊ฐ€"์—์„œ ๋˜๋Œ๋ ค์กŒ์Šต๋‹ˆ๋‹ค. https://github.com/helm/helm/commit/7b8aae466761448522acbd3beb2a16ad2283013a

์ด๊ฒƒ์— ๋Œ€ํ•œ ์†Œ์‹์ด ์žˆ์Šต๋‹ˆ๊นŒ?
๊ฐ์‚ฌ ํ•ด์š”

๊ฐ™์€ ์ƒ๊ธฐ์™€; ์•„๋ฌด๋„ #3471์˜ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด ํ›„์† ์กฐ์น˜๋ฅผ ์ทจํ•˜์ง€ ์•Š์•˜์œผ๋ฏ€๋กœ ์ด๊ฒƒ์ด ๊ตฌํ˜„๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ฐ’ ํŒŒ์ผ์—์„œ ์ฃผ์„์„ ์ œ๊ฑฐํ•ด๋„ ๊ดœ์ฐฎ๋‹ค๋ฉด Helm์„ ๋ถ„๊ธฐํ•˜๊ณ  #3471์— ๋Œ€ํ•ด ์ปดํŒŒ์ผํ•˜๋Š” ๊ฒƒ์„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.

์™„๋ฃŒ๋˜์—ˆ๋‚˜์š”? 2.11.0 ๋ฐ 2.12.0 ๋ฒ„์ „์—์„œ ์‹œ๋„ํ–ˆ๋Š”๋ฐ $#$2 helm package --set... #$๊ฐ€ ์—†๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

+1. ํŒจํ‚นํ•˜๊ธฐ ์ „์— yamls์˜ ๊ฐ’์„ ์ „๋‹ฌํ•˜๊ณ  ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ์„ ์ค‘์ง€ํ•˜๊ธฐ ์œ„ํ•ด CI์—์„œ ์ •๋ง ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

+1

--set-string๋„ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ค์น˜/์—…๊ทธ๋ ˆ์ด๋“œ์— ์žˆ๋Š” ๋ชจ๋“  ์žฌ์ •์˜ ์˜ต์…˜์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?
ํŒจํ‚ค์ง€ ๋ช…๋ น์˜ ๊ฐ’์„ ์žฌ์ •์˜ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋œ ๊ฒƒ๊ณผ ๋™์ผํ•œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ํŒจํ‚ค์ง€์— ์žฌ์ •์˜ ๊ฐ’์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์ด ์ดํ•ด๊ฐ€ ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ”Œ๋ž˜๊ทธ๋Š” ์„ค์น˜/์—…๊ทธ๋ ˆ์ด๋“œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๊ณต์œ ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

2.13.1 ์—๋„ ๊ทธ๋Ÿฐ ๊ธฐ๋Šฅ์ด ์—†๋Š”๋ฐ ์‹œ๊ฐ„ํ‘œ๊ฐ€ ์žˆ๋‚˜์š”?

์•ž์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ํ˜„์žฌ ์•„๋ฌด๋„ ์ด ๋ฌธ์ œ์— ๋Œ€ํ•ด ์ž‘์—…ํ•˜๊ณ  ์žˆ์ง€ ์•Š์œผ๋ฉฐ ์–ธ์ œ ์ˆ˜์ • ํ”„๋กœ๊ทธ๋žจ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”์ง€์— ๋Œ€ํ•œ ์ผ์ •๋„ ์—†์Šต๋‹ˆ๋‹ค. ๋ถ€๋‹ด ์—†์ด ์ด ์˜ท์„ ์ž…์œผ์‹ญ์‹œ์˜ค. ์•„์ด๋””์–ด๋Š” #3471์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

์ฝ”๋“œ๋ฅผ ๋ณด๋ฉด #3471์ด ์‹ค์ˆ˜๋กœ Helm 3์— ๋“ค์–ด๊ฐ„ ๊ฒƒ์œผ๋กœ ๋ณด์ด์ง€๋งŒ ๋‹ค์Œ ์ฃผ์„์œผ๋กœ ์ธํ•ด Helm 2์—์„œ์™€ ๊ฐ™์ด ์ œ๊ฑฐ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. https://github.com/helm/helm/pull/3471#issuecomment -381779783

https://github.com/helm/helm/pull/7201์„ ์‚ฌ์šฉํ•˜์—ฌ Helm 3์—์„œ --set ๋ฐ --values โ€‹โ€‹ํ”Œ๋ž˜๊ทธ๋ฅผ ์ œ๊ฑฐํ•  ๋•Œ ์ด ๊ธฐ๋Šฅ ์š”์ฒญ์„ ๋‹ค์‹œ ์—ฝ๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ์–ด์จŒ๋“  ์ž‘๋™ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค... --set ๋˜๋Š” --values ๋ฅผ ํ†ตํ•ด ์„ค์ •๋œ ๋ชจ๋“  ๊ฒƒ์€ ํŒจํ‚ค์ง€์— ์ฃผ์ž…๋˜์ง€ ์•Š์•˜์œผ๋ฉฐ helm package ๋กœ ์น˜๋ช…์ ์ธ ํšŒ๊ท€๋ฅผ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ตฌ์„ฑ์›์ด ๋ฌธ์„œ๋กœ ์‚ฌ์šฉํ•˜๋Š” values.yaml์—์„œ ์ฃผ์„์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

์•„๋งˆ๋„ ๋‚ด๊ฐ€ ์˜คํ•ดํ•˜๊ณ  ์žˆ์„์ง€ ๋ชจ๋ฅด์ง€๋งŒ ๋‚˜๋Š” ํ–‰๋ณตํ•˜๊ฒŒ --set with package ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ’์„ ์„ค์ •ํ–ˆ์œผ๋ฉฐ 3.0.0์—์„œ 3.0.2๊นŒ์ง€ ํ›Œ๋ฅญํ•˜๊ฒŒ ์ž‘๋™ํ–ˆ์œผ๋ฉฐ ํ™•์‹คํžˆ #7201์— ์„ค๋ช…๋œ "no-op"์ด ์•„๋‹™๋‹ˆ๋‹ค.

๋‚ด ํŒŒ์ดํ”„๋ผ์ธ์€ 3.0.3๋ถ€ํ„ฐ ์†์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ 3.0.2์—์„œ ์ž‘๋™ํ–ˆ์Šต๋‹ˆ๋‹ค. --version ๋ฐ --app-version์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ด๊ฒƒ์ด ์œ ์šฉํ•œ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผ๋˜์ง€ ์•Š๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? --app-version ๊ณผ ์ผ์น˜ํ•˜๋„๋ก ์ด๋ฏธ์ง€์™€ ํƒœ๊ทธ๋ฅผ ์–ด๋–ป๊ฒŒ ํŽธ์ง‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ? ๋ฐฐ์‰ฌ?

์ฝ”๋“œ๋ฅผ ๋‹ค์‹œ ๋ณด๋ฉด @lukaslarson ๋ฐ @maxhillaert๊ฐ€ ๋งž์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ ํŒจํ‚ค์ง€์˜ ๊ฐ’ ํŒŒ์ผ์—์„œ ๋ชจ๋“  ์ฃผ์„์„ ์ œ๊ฑฐํ•  ๋•Œ ๋˜๋Œ๋ฆฌ๊ธฐ ์œ„ํ•œ ๊ธฐ๋Šฅ์ด์—ˆ์Šต๋‹ˆ๋‹ค. Helm 2์—์„œ ์ œ๊ฑฐ๋˜์—ˆ์ง€๋งŒ ์‹ค์ˆ˜๋กœ Helm 3์— ๋“ค์–ด๊ฐ”์Šต๋‹ˆ๋‹ค. ๋ฐฐ์†ก๋  ์˜ˆ์ •์ด ์•„๋‹ˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋ˆ„๊ตฐ๊ฐ€ ์˜๊ฒฌ์„ ์œ ์ง€ํ•˜๋Š” #3471 ๋‹ค์‹œ ๊ตฌํ˜„ ์ž‘์—…์„ ์›ํ•˜๋ฉด PR์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

@bacongobbler ์ด๊ฒƒ์€ ์šฐ๋ฆฌ๋ฅผ ์œ„ํ•ด ๋ช‡ ๊ฐ€์ง€๋ฅผ ๋ง์ณค์Šต๋‹ˆ๋‹ค. PR ์ž‘์—…์— ๊ด€์‹ฌ์„ ๊ฐ–๊ณ  ์‹ถ์ง€๋งŒ ์‚ฌ์†Œํ•˜์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์•„์„œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ํ™•์ธํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

gopkg.in/yaml.v3 ๋Š” ์™•๋ณต ์ด๋™ ์‹œ ๋Œ“๊ธ€ ์œ ์ง€๋ฅผ ์ง€์›ํ•˜๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋‚ด ์ œ์•ˆ์€ Values yaml Node ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ฐ’์„ ํ†ตํ•ฉํ•  ๋•Œ ์ค‘์ฒฉ ๋งต์ด ์•„๋‹Œ ๊ตฌ๋ฌธ ๋ถ„์„๋œ ์ถœ๋ ฅ ํŠธ๋ฆฌ๋ฅผ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ํ™•์‹คํžˆ ๋œ ์ธ์ฒด๊ณตํ•™์ ์ด์ง€๋งŒ ์ฃผ์„์„ ๋ณด์กดํ•˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ v2 ์— ๊ณ ์ •๋œ ๋ชจ๋“  ๊ณณ sigs.k8s.io/yaml ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์€ ์•ฝ๊ฐ„์˜ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ตœ์†Œํ•œ ์ด๊ฒƒ์€ ๋ณ„๋„์˜ ์ข…์†์„ฑ์œผ๋กœ ๋„์ž…ํ•ด์•ผ ํ•˜๋ฉฐ, ์ด๋Š” ์ผ์ข…์˜ ์—‰ํ„ฐ๋ฆฌ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๊ฐ€์žฅ ์ข‹์€ ์ ‘๊ทผ ๋ฐฉ์‹์€ yaml์„ ๋‹ค๋ฃจ๋Š” ๋ชจ๋“  ๊ฒƒ์„ ๊ฑด๋“œ๋ฆฌ์ง€ ์•Š๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฐ€์žฅ ์ข‹์€ ์˜ต์…˜์€ yaml.v3์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉํ–ฅ์œผ๋กœ ๊ฐ€๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

sig.k8s.io/yaml ๋Œ€์‹  yaml.v3์„ ์‚ฌ์šฉํ•˜๋Š” Helm์˜ PoC/ํฌํฌ ์ž‘์—…์„ ์‹œ์ž‘ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ ์ข‹์€ ๊ฒฝ๋กœ๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด master ์— ์žˆ๋Š” ๊ฒƒ๊ณผ ๋น„๊ตํ•˜์—ฌ ๊ธฐ๋Šฅ์„ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

yaml.v3์ด ์ตœ์„ ์˜ ๊ฒฝ๋กœ์ž„์„ ํ™•์ธํ•œ ํ›„์—๋Š” SDK์˜ ๊ด€์ ์—์„œ ์ง„ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฐจ๋‹จ ํ•ด์ œ์— ๋„์›€์ด ๋˜๋‚˜์š”?

@jmcelwain ์ ๊ทน์ ์œผ๋กœ ์ž‘์—…ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ ๊ธฐ๊บผ์ด ์ธ์ˆ˜ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

@reya92 ์ผ์ด ๋ฐ”๋น ์š”. ์—ฌ๊ธฐ์—์„œ ์ค‘๋‹จํ–ˆ์Šต๋‹ˆ๋‹ค. yaml.v3์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ฒƒ์€ ์ด ๋ถ€๋ถ„์„ ์ œ์™ธํ•˜๊ณ ๋Š” ๋Œ€๋ถ€๋ถ„ ์‰ฌ์›  ์Šต๋‹ˆ๋‹ค . ์ข…์†์„ฑ์„ ๊ณต๊ธ‰ํ•˜๊ณ  v3์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜์ง€ ์•Š๊ณ  ์ด๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์ด ๋ฌด์—‡์ธ์ง€ ํ™•์‹ ํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค.

์—…๊ทธ๋ ˆ์ด๋“œ๋ฅผ ์œ„ํ•œ ์ž‘์—…์ด ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™์€๋ฐ , ์ด์Šˆ ๋“ฑ์— ๋Œ€ํ•œ ๋‹ค๋ฅธ ์ •๋ณด๋Š” ์—†๊ณ  ๊ท€์ฐฎ์•„์„œ ์ด์Šˆ๋ฅผ ์—ด์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์˜ต์…˜์€ ๋‘ ๊ฐ€์ง€ ์ข…์†์„ฑ์„ ๋ชจ๋‘ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด์ง€๋งŒ ์ด๋Š” ์ง•๊ทธ๋Ÿฝ๊ฒŒ ๋ณด์ž…๋‹ˆ๋‹ค.

๋‚ด ๊ฐœ์ธ์ ์ธ ์˜๊ฒฌ์€ ์œ ์ง€ ๊ด€๋ฆฌ์ž๊ฐ€ ์œ ์‚ฌํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๋‘ ๋ณต์‚ฌ๋ณธ์„ ๊ฐ€์ง€๊ณ  ๋‹ค๋‹ˆ๋Š” ๊ฒƒ์ด ๊ฐ€์น˜๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€ ์•Š๋Š” ํ•œ ์ด๊ฒƒ์ด ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ฐจ๋‹จ๊ธฐ๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์— LoE๊ฐ€ ๋ฌด์—‡์ธ์ง€ ํ™•์‹คํ•˜์ง€ ์•Š์ง€๋งŒ github.com/ghodss/yaml์„ v3์œผ๋กœ ๋งŒ๋“ค๊ณ  k8s์˜ ๊ณต๊ธ‰์—…์ฒด ๋ฒ„์ „๋„ ์—…๊ทธ๋ ˆ์ด๋“œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์ด ๋ชจ๋“  ๊ฒƒ์ด ํ›จ์”ฌ ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค.

https://github.com/ghodss/yaml/issues/61 ์„ ์—ด์–ด ์—…๊ทธ๋ ˆ์ด๋“œ ๊ฒฝ๋กœ ๊ฐ€๋Šฅ์„ฑ์— ๋Œ€ํ•ด ๋ฌธ์˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ์ž‘์—…์„ ๊ณ„์†ํ•˜๊ธฐ ์ „์— ์‘๋‹ต์„ ๊ธฐ๋‹ค๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ์ข…์†์„ฑ์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ์ด ๋‹ค๋ฅธ ์˜ต์…˜ IMO๋ณด๋‹ค ํ›จ์”ฌ ์ข‹์Šต๋‹ˆ๋‹ค.

@jmcelwain https://github.com/ghodss/yaml ์—๋Š” ๋งŽ์€ ์–‘์˜ ์ฝ”๋“œ๊ฐ€ ์—†์œผ๋ฉฐ 2017๋…„๋ถ€ํ„ฐ ์„œ๋น„์Šค๋˜์ง€ ์•Š์€ pull ์š”์ฒญ์ด ์žˆ์Šต๋‹ˆ๋‹ค: https://github.com/ghodss/yaml/pulls , ์ฝ”๋“œ๋Š” MIT ๋ผ์ด์„ผ์Šค.

์ด ์˜์กด์„ฑ์ด ์ •๋ง๋กœ ๊ทธ ๋ฌด๊ฒŒ๋ฅผ ๋Œ์–ด์˜ฌ๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ๋ช‡ ๊ฐ€์ง€ ๋งˆ์ƒฌ๋ง ๋„์šฐ๋ฏธ์ด์ง€๋งŒ ํ•ด๊ฒฐ๋˜๋ฉด ๋งŽ์€ ํ”„๋กœ์ ํŠธ๊ฐ€ ๋นŒ๋“œ ์‹œ ํŒจํ‚ค์ง€ ๊ธฐ๋ณธ๊ฐ’์„ ๋™์ ์œผ๋กœ ์„ค์ •ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. --set image.tag=${GIT_TAG} ์™€ ๊ฐ™์€ ๊ฒƒ์œผ๋กœ ํ”„๋กœ์ ํŠธ์˜ ์ฐจํŠธ ๋ฐ ์ด๋ฏธ์ง€ ๋ฒ„์ „์„ ๊ณ ์ •).

๋” ์ด์ƒ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ํ•„์š”ํ•œ ์ฝ”๋“œ๋ฅผ helm์— ๋ณต์‚ฌํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ด ๋ž˜ํผ์˜ ์œ ์ง€ ๊ด€๋ฆฌ๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ธฐ์— ์ถฉ๋ถ„ํžˆ ํฐ ํ”„๋กœ์ ํŠธ์ด๋ฉฐ YAML ๋งˆ์ƒฌ๋ง์ด ํ•ต์‹ฌ ์—ญ๋Ÿ‰์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค(์ž์‹ ์˜ ํŒŒ์„œ๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋ง์€ ์•„๋‹ˆ์ง€๋งŒ...!)

์ด๊ฒƒ์ด ์ง€๊ธˆ ์šฐ๋ฆฌ์—๊ฒŒ ๊ณ ํ†ต์„ ์ฃผ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—(๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๊ฐ€ helm 3.0.2์—์„œ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ์„ ๋ง‰๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์—) ๊ธฐ๊บผ์ด ๊ทธ๊ฒƒ์„ ์ฐ”๋Ÿฌ๋ณด๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ์ƒํ™ฉ์€ ํ”ผํ•˜๋Š” ๊ฒŒ ์ข‹๊ฒ ์–ด. ํŒจํ‚ค์ง€ ๊ด€๋ฆฌ์ž์™€ YAML ๊ตฌ๋ฌธ ๋ถ„์„๊ธฐ๋ฅผ ๋ชจ๋‘ ์œ ์ง€ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ง€ ๊ด€๋ฆฌ์ž๊ฐ€ ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํŒ€์— ์ƒ๋‹นํ•œ ์œ ์ง€ ๊ด€๋ฆฌ ๋ถ€๋‹ด์„ ์ดˆ๋ž˜ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

@bacongobbler yaml ํŒŒ์„œ๊ฐ€ _์•„๋‹™๋‹ˆ๋‹ค_. gopkg.in/yaml.v2 ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‹ค์ œ ๊ตฌ๋ฌธ ๋ถ„์„์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹น ํŒŒ์„œ ์ฃผ์œ„์— reflect ๋ž˜ํผ ์ฝ”๋“œ๊ฐ€ ์•ฝ 900์ค„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” ๊ทธ๋“ค์ด ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  gopkg.in/yaml.v3 ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์‹ค์ œ ์ข…์†์„ฑ์— ๋Œ€ํ•ด ์ด ์‚ฌ์†Œํ•œ ์ค‘๊ฐ„์„ ์‚ฌ์šฉํ•˜๋Š” ์œ ์ง€ ๊ด€๋ฆฌ ๋ถ€๋‹ด์ด ์ด ์ฝ”๋“œ๋ฅผ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋” ํฐ ๋ถ€๋‹ด์ธ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์Šค๋ ˆ๋“œ์˜ ์•ž๋ถ€๋ถ„์—์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ghodss/yaml์„ yaml.v3์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๋Š” PR ์—…์ŠคํŠธ๋ฆผ์„ ์ž์œ ๋กญ๊ฒŒ ์ œ์•ˆํ•˜์‹ญ์‹œ์˜ค. ๊ทธ๋“ค์ด ๊ทธ๊ฒƒ์„ ์ˆ˜๋ฝํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, ์œ ์ง€ ๊ด€๋ฆฌ ๋ถ€๋‹ด์„ ์งŠ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐ๋˜๋ฉด ์ž์œ ๋กญ๊ฒŒ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ถ„๊ธฐํ•˜๊ณ  ์œ ์ง€ํ•˜์‹ญ์‹œ์˜ค.

ํ•˜์ง€๋งŒ ๋ถ„๋ช…ํžˆ ๋ง์”€๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ghodss/yaml์„ Helm์œผ๋กœ ๋ถ„๊ธฐํ•˜๊ณ  ๊ณต๊ธ‰์—…์ฒด์ธ pull ์š”์ฒญ์„ ์ˆ˜๋ฝํ•˜์ง€ _์•Š์Šต๋‹ˆ๋‹ค_. ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ์ „์ฒด Go ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ถ”๊ฐ€ ์œ ์ง€ ๊ด€๋ฆฌ ๋ถ€๋‹ด์„ ์งŠ์–ด์งˆ ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.

@bacongobbler ์—ฌ๊ธฐ์—์„œ ์ œ PR์„ ์‚ดํŽด๋ณด์„ธ์š”: https://github.com/helm/helm/pull/7963

ํ…Œ์ŠคํŠธ๊ฐ€ ํฌํ•จ๋˜๊ณ  ๋ถˆํ•„์š”ํ•œ ๊ธฐ๋Šฅ์ด ์ œ๊ฑฐ๋œ 900์ค„์˜ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.

์ง€๊ธˆ ๋‹น์‹ ์€ ๋‚ด๊ฐ€ ๊ฑฐ๊ธฐ์— ์ถ”๊ฐ€ํ•œ ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ๋” ํฐ ๊ณต๊ฐ„์„ ์ฐจ์ง€ํ•˜๋Š” ์ƒ๋Œ€์ ์œผ๋กœ ๊ด€๋ฆฌ๋˜์ง€ ์•Š์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ฒ˜๋Ÿผ ๋ณด์ด๋Š” ๊ฒƒ์— ์˜์กดํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•œ ์ „์ฒด Go ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

์ด ์ „์ฒด Go ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์„ ๋ชจ๋‘ ์‚ฌ์šฉํ•˜๊ณ  ์ด๋ฅผ ์œ„ํ•ด ์ฝ”๋“œ์˜ ์ถœ์ฒ˜๋ฅผ ๋”์šฑ ๋ชจํ˜ธํ•˜๊ฒŒ ํ•˜๋Š” ์˜๊ตฌ์ ์ธ ํฌํฌ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค.

์œ ์ง€ ๊ด€๋ฆฌ ๋ถ€๋‹ด์„ ์งŠ์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐ๋˜๋ฉด ์ž์œ ๋กญ๊ฒŒ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ถ„๊ธฐํ•˜๊ณ  ์œ ์ง€ ๊ด€๋ฆฌํ•˜์‹ญ์‹œ์˜ค.

๋‚ด ๋ง์€ ๋‹น์‹ ์ด ์ด๋ฏธ ์ด ์ฝ”๋“œ์˜ ๋‹จ์ผ ๋ชฉ์  ํฌํฌ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๊ฐ€ ์ค‘๋‹จ๋˜๋ฉด ์›๋ž˜ ์ž‘์„ฑ์ž์˜ ์œ ์ง€ ๊ด€๋ฆฌ๋กœ๋ถ€ํ„ฐ ์‹ค์ œ๋กœ ์ด์ต์„ ์–ป์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

๋‹น์‹ ์ด ์›ํ•œ๋‹ค๋ฉด ๋‚ด PR์—์„œ ๊ทธ ์ ์€ ์–‘์˜ ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์™€์„œ repo์— ๋„ฃ๊ณ  ์œ ์ง€ํ•˜๊ฒ ๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์ง€๋งŒ(๊ทธ๋ฆฌ๊ณ  ๊ทธ๋ ‡๊ฒŒ ํ•˜๋ ค๊ณ  ์‹œ๋„ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค), ๋‹ค์†Œ ์–ด๋ฆฌ์„์€ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋ถ„๋ช…ํžˆ ํ•ด๋‘๊ฒ ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ghodss/yaml ๋ฐ ๋ฒค๋”๋ฅผ Helm์œผ๋กœ ํฌํฌํ•˜๋Š” ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์ˆ˜๋ฝํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ธฐ๋ก์„ ์œ„ํ•ด, ์ด ๊ธ€์„ ์ฝ์„ ์ฆˆ์Œ์—๋Š” ์ด๋ฏธ ๊ทธ PR์„ ๋ฐ€์–ด๋ƒˆ๊ธฐ ๋•Œ๋ฌธ์— '๋ฒค๋”๋ง'๊ณผ '์ „์ฒด Go ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ'์— ๋Œ€ํ•ด ์บ์‹œ๋œ ์ƒ๊ฐ์„ ๊ฐ–๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์‹œ ์ƒ๊ฐํ•ด ๋ณด์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ) ๊ด€๋ จ๋œ ์ฝ”๋“œ๋ฅผ ๋ณด์ง€ ์•Š๊ณ . ๊ทธ๋Ÿฌ๋‚˜ PR์—์„œ ๋ฌธ์ œ์˜ ์‹ค์ œ ์ฝ”๋“œ์— ๋Œ€ํ•ด ๋…ผ์˜ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋„์›€์ด ๋œ๋‹ค๋ฉด ์ด ์ฝ”๋“œ์˜ ์ฝ”๋“œ ์†Œ์œ ์ž๊ฐ€ ๋˜์–ด ๊ธฐ์ฉ๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๊ธฐ์—ฌ๋กœ ๊ทธ๊ฒƒ์„ ์ผ๋‹ค๊ณ  ์ƒ์ƒํ•ด ๋ด…์‹œ๋‹ค. ๋‚˜๋Š” ์ผ์ข…์˜ ...

์–ด์ฉŒ๋ฉด ๊ทธ๋“ค์€ ๊ทธ๊ฒƒ์„ ๋ณ‘ํ•ฉ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค : https://github.com/ghodss/yaml/pull/62

๋‚ด๊ฐ€ ๊ฐ„๋žตํ•˜๊ฒŒ ์‚ดํŽด๋ณธ ๋‹ค๋ฅธ ๋Œ€์•ˆ์€ ๋‹ค๋ฅธ ์ข…์†์„ฑ์„ ํ†ตํ•ด YAML์„ JSON์œผ๋กœ ๋ณ€ํ™˜ํ•˜๊ฑฐ๋‚˜ ์ผ๋ถ€ ์ค‘๊ฐ„ ํ˜•์‹์„ ํ†ตํ•ด ์ง๋ ฌํ™”ํ•˜๋Š” ๊ฐ€๋Šฅ์„ฑ์ด์—ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์ด ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๊ฒฝ๋กœ์ธ์ง€ ์•Œ๊ธฐ ์œ„ํ•ด Go ์ƒํƒœ๊ณ„์— ๋Œ€ํ•ด ์ถฉ๋ถ„ํžˆ ์ต์ˆ™ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๊ฐ„๋žตํ•˜๊ฒŒ ๋ณด์•˜์„ ๋•Œ ๋” ๋งŽ์€ ์ง๋ ฌํ™” ์œ ํ˜• ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์— ๋‹ค์†Œ ๋†€๋ž์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ‚ค ํŒจํ‚ค์ง•์„ ์ž๋™ํ™”ํ•  ๋•Œ --set์„ ๋‹ค์‹œ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ๊ธฐ์— ๋Œ€ํ•œ ์•„์ด๋””์–ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Helm 3.0.2์— ์žˆ์—ˆ๊ณ  ์—…๋ฐ์ดํŠธ๊ฐ€ ๋” ์ด์ƒ ์ง€์›๋˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ง€๊ธˆ์€.

https://github.com/ghodss/yaml/pull/62 ๋ณ‘ํ•ฉ์ด ์—ฌ์ „ํžˆ ์ฐจ๋‹จ๋ฉ๋‹ˆ๋‹ค.

์ฝ”๋“œ๋ฅผ ๋‹ค์‹œ ๋ณด๋ฉด @lukaslarson ๋ฐ @maxhillaert๊ฐ€ ๋งž์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ ํŒจํ‚ค์ง€์˜ ๊ฐ’ ํŒŒ์ผ์—์„œ ๋ชจ๋“  ์ฃผ์„์„ ์ œ๊ฑฐํ•  ๋•Œ ๋˜๋Œ๋ฆฌ๊ธฐ ์œ„ํ•œ ๊ธฐ๋Šฅ์ด์—ˆ์Šต๋‹ˆ๋‹ค. Helm 2์—์„œ ์ œ๊ฑฐ๋˜์—ˆ์ง€๋งŒ ์‹ค์ˆ˜๋กœ Helm 3์— ๋“ค์–ด๊ฐ”์Šต๋‹ˆ๋‹ค. ๋ฐฐ์†ก๋  ์˜ˆ์ •์ด ์•„๋‹ˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋ˆ„๊ตฐ๊ฐ€ ์˜๊ฒฌ์„ ์œ ์ง€ํ•˜๋Š” #3471 ๋‹ค์‹œ ๊ตฌํ˜„ ์ž‘์—…์„ ์›ํ•˜๋ฉด PR์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ฃผ์„์ด ์ œ๊ฑฐ๋˜๋Š”์ง€ ์—ฌ๋ถ€๊ฐ€ ์ค‘์š”ํ•ฉ๋‹ˆ๊นŒ? --set ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์ฃผ์˜ ์‚ฌํ•ญ์ด ์žˆ์œผ๋ฉด ์ฃผ์„์— ์‹ ๊ฒฝ ์“ฐ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ghods/yaml#62 ๋ณ‘ํ•ฉ์ด ์—ฌ์ „ํžˆ ์ฐจ๋‹จ๋ฉ๋‹ˆ๋‹ค.

๋‚˜๋Š” 3.0.2๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ ๋ถ™์–ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค :(

--set ์‚ฌ์šฉ ์—ฌ๋ถ€์— ๊ด€๊ณ„์—†์ด 3471๊ฐœ์˜ ๋Œ“๊ธ€์ด ์‚ญ์ œ๋˜์—ˆ์œผ๋ฏ€๋กœ ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•œ ์ ์ด ์—†๋Š” ์‚ฌ์šฉ์ž๋ฅผ ๋ง์ณค์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์‚ฌ๋žŒ์˜ ์ด์ „ ๋ฒ„์ „๊ณผ์˜ ํ˜ธํ™˜์„ฑ์„ ๊นจ๋œจ๋ ธ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฒฝ๊ณ ์™€ ํ•จ๊ป˜ ๋‹ค์‹œ ๋„์ž…๋  ์ˆ˜ ์—†์œผ๋ฉฐ ์ด๊ฒƒ์ด ์šฐ๋ฆฌ๊ฐ€ ์—…์ŠคํŠธ๋ฆผ์—์„œ ์ ์ ˆํ•œ ์ˆ˜์ •์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ์šฐ๋ฆฌ๊ฐ€ 3.0.2๋ฅผ ๊ณ ์ˆ˜ํ•ด์•ผ ํ•˜๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค

ghods/yaml#62 ๋ณ‘ํ•ฉ์ด ์—ฌ์ „ํžˆ ์ฐจ๋‹จ๋ฉ๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์ด ์ข…์†์„ฑ์€ ๋” ์ด์ƒ ์œ ์ง€๋˜์ง€ ์•Š๋Š” ๊ฒƒ ๊ฐ™์œผ๋‹ˆ ๋ถ„๊ธฐ๋œ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹์ง€ ์•Š์„๊นŒ์š”?

์ „ํ™˜ํ•˜๋Š” ๊ฒƒ์€ ์ข‹์€ ์ƒ๊ฐ์ด์ง€๋งŒ Helm 4๋กœ ์—ฐ๊ธฐํ•ด์•ผ โ€‹โ€‹ํ•ฉ๋‹ˆ๋‹ค. ๋ˆ„๊ตฐ๊ฐ€ YAML ํŒŒ์„œ ์ „ํ™˜์— ๋Œ€ํ•œ ํŠน๋ณ„ ๋ฌธ์ œ๋ฅผ ์ œ์ถœํ•ด์•ผ Helm 4 ํ”„๋กœ์„ธ์Šค์—์„œ ์ด๋ฅผ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ๋ถ„๋ช…ํžˆ ํ•ด๋‘๊ฒ ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ghodss/yaml ๋ฐ ๋ฒค๋”๋ฅผ Helm์œผ๋กœ ํฌํฌํ•˜๋Š” ํ’€ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ์ˆ˜๋ฝํ•˜์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์„ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ์ „์ฒด Go ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ถ”๊ฐ€ ์œ ์ง€ ๊ด€๋ฆฌ ๋ถ€๋‹ด์„ ์งŠ์–ด์งˆ ์ˆ˜๋Š” ์—†์Šต๋‹ˆ๋‹ค.

https://github.com/ghodss/yaml ๊ฐ€ ๋” ์ด์ƒ ์œ ์ง€๋˜์ง€ ์•Š๊ณ  https://github.com/ghodss/yaml/pull/62 ์— ๋กœ๊ทธ์ธ์ด ์—†๋Š” ๊ฒƒ ๊ฐ™์œผ๋ฉด ์ด ์ž…์žฅ์„ ์žฌ๊ณ ํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ? ์žฌํ‰๊ฐ€ https://github.com/helm/helm/pull/7963 ?

์šฐ๋ฆฌ๋Š” ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์ „์ฒด YAML ๊ตฌ๋ฌธ ๋ถ„์„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ง€์›ํ•˜๋Š” ์œ ์ง€ ๊ด€๋ฆฌ ๋ถ€๋‹ด์„ ์ง€๋Š” ๋ฐ ๊ด€์‹ฌ์ด ์—†์Šต๋‹ˆ๋‹ค.

์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ghodss/yaml์˜ ๊ธฐ์กด ์œ ์ง€ ๊ด€๋ฆฌ์ž์™€ ํ˜‘๋ ฅํ•˜์—ฌ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง€์›ํ•˜๊ฑฐ๋‚˜ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ถ„๊ธฐํ•˜๊ฑฐ๋‚˜ ์˜๊ฒฌ์„ ๋ณด์กดํ•  ์ˆ˜ ์žˆ๋Š” ์ƒˆ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ธฐ๊บผ์ด ์ฐพ๋Š” ์ƒˆ๋กœ์šด ์œ ์ง€ ๊ด€๋ฆฌ์ž ์ง‘ํ•ฉ์„ ์ฐพ๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•  ๊ฒƒ์„ ์ด‰๊ตฌํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿผ ๋ญ๊ฐ€ ๋ ๊นŒ์š”?

  • ghodss/YAML์„ ์ง€์›ํ•˜๋Š” ์ƒˆ๋กœ์šด ๊ด€๋ฆฌ์ž๋ฅผ ์ฐพ์œผ์„ธ์š”!?
  • ghodss/YAML์„ ํฌํฌํ•˜๊ณ  YAML.v3์„ ์‚ฌ์šฉํ•  ์‚ฌ๋žŒ์„ ์ฐพ๊ณ  ๊ณ„์† ์ง€์›ํ•˜์„ธ์š”!!
  • YAML.v3์„ ์ง์ ‘ ์‚ฌ์šฉ
  • helm 4์šฉ YAML ํŒŒ์„œ๋ฅผ ์ „ํ™˜ํ•  ๊ฒƒ์„ ์ œ์•ˆํ•ฉ๋‹ˆ๋‹ค.

์ „์ฒด YAML ๊ตฌ๋ฌธ ๋ถ„์„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ

์ด๊ฒƒ์€ ์—ฌ๊ธฐ์— ๊ด€๋ จ๋œ ์ฝ”๋“œ์˜ ๋ฒ”์œ„๋ฅผ ์ž˜๋ชป ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํŒŒ์„œ๋ฅผ ๋‘˜๋Ÿฌ์‹ผ ๋ช‡ ๊ฐœ์˜ ๋ž˜ํผ์ž…๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์ „์ฒด YAML ๊ตฌ๋ฌธ ๋ถ„์„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ง€์›ํ•˜๋Š” ์œ ์ง€ ๊ด€๋ฆฌ ๋ถ€๋‹ด์„ ์ง€๋Š” ๋ฐ ๊ด€์‹ฌ์ด ์—†์Šต๋‹ˆ๋‹ค.

์•„๋งˆ๋„ ์ด ํ˜ผ๋ž€์€ ๋งŽ์€ ๊ฒƒ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์„œ๋Š” ghodss/YAML์ด ์•„๋‹ˆ๋ผ https://github.com/go-yaml/yaml ์ž…๋‹ˆ๋‹ค. https://github.com/ghodss/yaml ์—์„œ:

go-yaml์„ ๊ฐ์‹ธ๋Š” ๋ž˜ํผ

๋”ฐ๋ผ์„œ ๊ฐ„๋‹จํ•œ ์†”๋ฃจ์…˜์€ ๋ž˜ํผ ์‚ฌ์šฉ์„ ์ค‘์ง€ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

"๋ž˜ํผ"๋Š” ์ผ๋ถ€ ๋™์ž‘์— ์ง€๋Œ€ํ•œ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ดˆ๊ธฐ์— ํŒŒ์„œ(๋ฐ ๋ž˜ํผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ)๋ฅผ ๋ช‡ ๋ฒˆ ์ „ํ™˜ํ•œ ํ•ต์‹ฌ ์œ ์ง€ ๊ด€๋ฆฌ์ž๋Š” ์ด๋“ค ์‚ฌ์ด์˜ ์ž‘์€ ๋ถˆ์ผ์น˜, ์ด๊ฒƒ์ด ์–ด๋–ป๊ฒŒ ๋†’์€ ์ˆ˜์ค€์˜ ํ˜ธํ™˜์„ฑ ๋ฌธ์ œ๋ฅผ ์ƒ์„ฑํ•˜๋Š”์ง€ ์ž˜ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ghodss/yaml ํฌํฌ ์‚ฌ์šฉ์„ ๊ณ ๋ คํ•  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์œผ๋ฉฐ ํ•ด๋‹น ํฌํฌ ์†Œ์œ ์ž๊ฐ€ ์ง€์†์ ์ธ ์œ ์ง€ ๊ด€๋ฆฌ๋ฅผ ์•ฝ์†ํ•œ ๊ฒฝ์šฐ์—๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์•„๋งˆ๋„ ๋‚ด๊ฐ€ ๋” ์ •ํ™•ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„๋ ค์ง„ ๋ž˜ํผ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ์„ ์ค‘์ง€ํ•˜๊ณ  helm์—์„œ ๋™๋“ฑํ•œ/๋™์ผํ•œ ๋ž˜ํ•‘ ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” https://github.com/helm/helm/pull/7963 ์ด ์•ฝ ~250 LOC์—์„œ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ…Œ์ŠคํŠธ.

์˜ˆ, ์ด์ƒ์ ์œผ๋กœ๋Š” ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ghodss/yaml์—์„œ ์ˆ˜์ •ํ•˜์ง€๋งŒ ๋” ์ด์ƒ ์œ ์ง€ ๊ด€๋ฆฌ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ™•์‹คํžˆ ๋Œ€์•ˆ์€ Helm 4๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์ง€ ์•Š์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š” ํฌํฌ๊ฐ€ ์•„๋งˆ๋„ ์ตœ์„ ์˜ ์„ ํƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. IMO; @ghodss ๋Š” 2019๋…„ ์ดˆ ์ดํ›„๋กœ GH์— ๋Œ€ํ•œ ํ™œ๋™์ด ์—†๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ด๋ฉฐ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋Œ€ํ•œ ๋งˆ์ง€๋ง‰ ์ปค๋ฐ‹์€ 1๋…„ ๋ฐ˜ ์ „์ด์—ˆ์Šต๋‹ˆ๋‹ค(@bradfitz ์ž‘์„ฑ). ๋งˆ์ง€๋ง‰(์œ ์ผํ•œ) ๋ฆด๋ฆฌ์Šค๋Š” 2017๋…„์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ์— ์ž ์žฌ์ ์ธ ๋ณด์•ˆ ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ๋ฉ”์ธ์—์„œ ์ˆ˜์ •๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ํฌํฌ๋ฅผ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๊ธฐ๋กœ ์•ฝ์†ํ•œ๋‹ค๋ฉด ํฌํฌ ์ฑ„ํƒ์„ ๊ฐ•๋ ฅํžˆ ์ง€์ง€ํ•ฉ๋‹ˆ๋‹ค. ๋นˆ์‚ฌ ์ƒํƒœ์ด๊ณ  ๋ฒ„๋ ค์ง„ ํŒจํ‚ค์ง€๋ฅผ ๊ณ„์† ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จํ•˜์—ฌ ์–ด๋–ค ๋‹จ์ ๋„ ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋ž˜ํผ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ์ด ์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์œผ๋กœ ๋” ํ•ฉ๋ฆฌ์ ์ด๋ผ๋Š” ๋ฐ ๋™์˜ํ•ฉ๋‹ˆ๋‹ค(Helm 4๊ฐ€ ์‰ฝ๊ฒŒ ๋  ์ˆ˜ ์žˆ์„ ๋งŒํผ ์ถฉ๋ถ„ํžˆ ๋ฌด๊ฑฐ์šด ๋ฆฌํ”„ํŠธ์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ ๋” ์ด์ƒ ์ถ”์ธกํ•˜์ง€๋Š” ์•Š๊ฒ ์Šต๋‹ˆ๋‹ค). ํ•˜์ง€๋งŒ ์ด๊ฒƒ์ด ํ•ด๊ฒฐ๋  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. go.mod ์— replace ๋ผ์ธ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ์‚ฌ๋žŒ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ธ ๊ฒฝ์šฐ ํฌํฌ๋ฅผ ๊ณต๋™ ์œ ์ง€ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค„ ์˜ํ–ฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ ์Šค์Šค๋กœ ํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€์—ญํญ์ด ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์ง€๋งŒ ๊ธฐ์—ฌํ•  ๋งŒํผ์€ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ™•์‹คํžˆ, ์ €๋Š” Helm ์ฐจํŠธ๋ฅผ ํŒจํ‚ค์ง•ํ•˜๊ธฐ ์œ„ํ•ด ์Œ“์ธ sed ์Šคํฌ๋ฆฝํŠธ ๋”๋ฏธ๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ๋„๋ก ์ด ์ž‘์—…์— ๊ฐ€์žฅ ๊ด€์‹ฌ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๊ฒƒ์ด ํ•„์š”ํ•˜๋‹ค๋ฉด ๊ทธ๋ ‡๊ฒŒ ํ•˜์‹ญ์‹œ์˜ค.

์•ˆ๋…•
ํŒจํ‚ค์ง•ํ•  ๋•Œ ๊ฐ’์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํ”Œ๋Ÿฌ๊ทธ์ธ ์„ ๋ฐฉ๊ธˆ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ๋กœ์„œ๋Š” set ํ”Œ๋ž˜๊ทธ๋งŒ ์ง€์›ํ•˜์ง€๋งŒ(ํ•„์š”ํ•œ :sweat_smile: ) ๋‹ค๋ฅธ ํ”Œ๋ž˜๊ทธ๋ฅผ ์ถ”๊ฐ€ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ๋‹น์‹ ์ด ๊ทธ๊ฒƒ์„ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•ด ๋น„๊ณ ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ข‹์•„ํ•˜๋Š” ๊ฒฝ์šฐ PR์„ ํ‘ธ์‹œํ•˜๋Š” ๊ฒƒ์„ ๋ง์„ค์ด์ง€ ๋งˆ์‹ญ์‹œ์˜ค.
๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค

ํŒ”๋กœ์šฐํ•˜์ง€ ์•Š์€ ์‚ฌ๋žŒ์ด ์žˆ์„ ๊ฒฝ์šฐ๋ฅผ ๋Œ€๋น„ํ•˜์—ฌ ghodss/yaml#62์—์„œ ๊ด€๋ฆฌ์ž์—๊ฒŒ ์—ฐ๋ฝํ•˜๋Š” ๊ณผ์ •์ด ์–ด๋Š ์ •๋„ ์ง„ํ–‰๋˜์—ˆ์œผ๋ฏ€๋กœ ๊ณง ์ข‹์€ ์†Œ์‹์„ ๋“ค์„ ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๋ฐ”๋ž๋‹ˆ๋‹ค!

์ด ๋ฌธ์ œ๋Š” 90์ผ ๋™์•ˆ ํ™œ๋™์ด ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์˜ค๋ž˜๋œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์Šค๋ ˆ๋“œ๋Š” ๋” ์ด์ƒ ํ™œ๋™์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์œผ๋ฉด 30์ผ ํ›„์— ์ž๋™์œผ๋กœ ๋‹ซํž™๋‹ˆ๋‹ค.

ํ™•์‹คํžˆ ์˜ค๋ž˜๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ €๋Š” https://github.com/ghodss/yaml/pull/62 ์—์„œ ํ›„์† ์กฐ์น˜๋ฅผ ์ทจํ•˜๊ณ  ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ์ง„ํ–‰ ์ƒํ™ฉ์„ ์ฐจ๋‹จ ํ•ด์ œํ•˜๊ธฐ ์œ„ํ•ด ๋ณ‘ํ•ฉํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์‹œ๊ฐ„์„ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚ด ์กฐ์ง์—์„œ Helm์— ๋Œ€ํ•œ ์˜์กด๋„๊ฐ€ ๋†’์•„์ง์— ๋”ฐ๋ผ CI๋ณ„ ๋นŒ๋“œ ํŒจํ‚ค์ง€ ์ฐจํŠธ์— ๊ฐ’์„ ๊ตฌ์šธ ์ˆ˜ ์žˆ๊ธฐ๋ฅผ ๊ณ„์† ์›ํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ ๋Œ€ํ™”์— ์•„๋ฌด๊ฒƒ๋„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ƒํƒœ ์—…๋ฐ์ดํŠธ๋ฅผ ์š”์ฒญํ•œ ๋ชจ๋“  ๋Œ“๊ธ€์„ ์‚ญ์ œํ–ˆ์Šต๋‹ˆ๋‹ค. @jmcelwain ์€ ์ตœ์†Œ 5์ผ ์ „์— ์ƒํƒœ ์—…๋ฐ์ดํŠธ๋ฅผ ์ œ๊ณตํ–ˆ์œผ๋ฉฐ(๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. btw) ๋ฌด์—‡๋ณด๋‹ค ์ข‹์Šต๋‹ˆ๋‹ค. ์•ž์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ์ด ๋ฌธ์ œ์— ๋Œ€ํ•œ ์†”๋ฃจ์…˜ ์€ ๊นŒ๋‹ค๋กญ๊ณ  ์—ฌ๋Ÿฌ ์ข…์†์„ฑ์„ ์—…๋ฐ์ดํŠธํ•˜๊ฑฐ๋‚˜ ๋ถ„๊ธฐํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋ช‡ ๊ฐ€์ง€ ์‹ค์‚ฌ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

๊ณต์œ ํ•  ์ •๋ณด๊ฐ€ ๋” ์žˆ์œผ๋ฉด ์Šค๋ ˆ๋“œ๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์œผ๋กœ https://github.com/mikefarah/yq ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒจํ‚ค์ง•ํ•˜๊ธฐ ์ „์— helm ์ฐจํŠธ๋ฅผ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

yq w -i values.yaml version $(Build.BuildNumber)

CI์—์„œ ๋™์ผํ•œ ํŒŒ์ดํ”„๋ผ์ธ์—์„œ ์•ฑ/๋„์ปค ์ด๋ฏธ์ง€์™€ ์ฐจํŠธ๋ฅผ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค(์•ฑ๊ณผ ์ฐจํŠธ๊ฐ€ ๋™์ผํ•œ ๋ฒ„์ „ ๊ด€๋ฆฌ๋กœ ํ•จ๊ป˜ ๋ฐœ์ „ํ•˜๋„๋ก ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด). ์ฐจํŠธ์˜ ๊ธฐ๋ณธ๊ฐ’์€ ์ด์ „์— ๋นŒ๋“œํ•œ ์ด๋ฏธ์ง€ ๋ฒ„์ „์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

yq ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ํŒŒ์ดํ”„๋ผ์ธ์— ์‰ฝ๊ฒŒ ํ†ตํ•ฉ๋  ์ˆ˜ ์žˆ์ง€๋งŒ ์ด ์‚ฌ์šฉ ์‚ฌ๋ก€๊ฐ€ helm ์— ์˜ํ•ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ๋‹ค๋ฃจ์–ด์ง€์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์€ ์ด์ƒํ•˜๊ฒŒ ๋ณด์ž…๋‹ˆ๋‹ค!

๋”ฐ๋ผ์„œ ํŒจํ‚ค์ง€ ๋‹จ๊ณ„ ์ค‘/์ „์— image.tag๋ฅผ ์„ค์ •ํ•˜๋Š” helm๊ณผ ํ†ตํ•ฉ๋œ ๋ฐฉ๋ฒ•์ด ์—†์Šต๋‹ˆ๊นŒ?

ํŽธ์ง‘ : ์ œ ๊ฒฝ์šฐ์— ์ด ์†”๋ฃจ์…˜์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ๋™์ผํ•œ ๋ฒ„์ „์œผ๋กœ ์ฐจํŠธ๋ฅผ ํŒจํ‚ค์ง•ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ด๋ฏธ์ง€ ํƒœ๊ทธ์— Chart.AppVersion์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํŽธ์ง‘ 2 : Chart.AppVersion / ๊ณต์œ  ์ฐจํŠธ์—์„œ ์ž‘๋™ํ•˜์ง€ ์•Š์Œ(์—ฌ๋Ÿฌ ์šฐ์‚ฐ ์ฐจํŠธ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์Šคํ”„๋ง ๋ถ€ํŠธ ์ฐจํŠธ๋ฅผ ์‚ฌ์šฉํ•จ)

๋‚ด ๊ฒฐ๋ก  : ํŒจํ‚ค์ง€ ๋‹จ๊ณ„์—์„œ image.tag๋ฅผ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ์†Œ์‹์ด ์žˆ์Šต๋‹ˆ๊นŒ?

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰