๊นƒ๋žฉ 11.10

๊นƒ๋žฉ 11.10

๋Œ€์‹œ๋ณด๋“œ ํŒŒ์ดํ”„๋ผ์ธ, ๋ณ‘ํ•ฉ๋œ ๊ฒฐ๊ณผ ํŒŒ์ดํ”„๋ผ์ธ ๋ฐ ๋ณ‘ํ•ฉ ์š”์ฒญ์˜ ์—ฌ๋Ÿฌ ์ค„ ์ œ์•ˆ์ด ํฌํ•จ๋œ GitLab 11.10.

๋‹ค์–‘ํ•œ ํ”„๋กœ์ ํŠธ์˜ ํŒŒ์ดํ”„๋ผ์ธ ์„ฑ๋Šฅ์— ๋Œ€ํ•œ ํŽธ๋ฆฌํ•œ ์ •๋ณด

GitLab์€ DevOps ์ˆ˜๋ช…์ฃผ๊ธฐ์— ๋Œ€ํ•œ ๊ฐ€์‹œ์„ฑ์„ ์ง€์†์ ์œผ๋กœ ๋†’์ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ํ˜ธ์—๋Š” ์ œ์–ดํŒ ํŒŒ์ดํ”„๋ผ์ธ ์ƒํƒœ ๊ฐœ์š”๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ด๋Š” ๋‹จ์ผ ํ”„๋กœ์ ํŠธ์˜ ํŒŒ์ดํ”„๋ผ์ธ์„ ์—ฐ๊ตฌํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ํŽธ๋ฆฌํ•˜์ง€๋งŒ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒฝ์šฐ์— ํŠนํžˆ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ, - ์ด๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋งˆ์ดํฌ๋กœ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ๋‹ค์–‘ํ•œ ํ”„๋กœ์ ํŠธ ์ €์žฅ์†Œ์˜ ์ฝ”๋“œ๋ฅผ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด ํŒŒ์ดํ”„๋ผ์ธ์„ ์‹คํ–‰ํ•˜๋ ค๋Š” ๊ฒฝ์šฐ์— ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ๋ฐ”๋กœ ์„ฑ๋Šฅ์„ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ์ œ์–ดํŒ์˜ ํŒŒ์ดํ”„๋ผ์ธ, ์–ด๋””์„œ๋“  ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

๋ณ‘ํ•ฉ๋œ ๊ฒฐ๊ณผ๋ฅผ ์œ„ํ•œ ํŒŒ์ดํ”„๋ผ์ธ ์‹คํ–‰

์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์›๋ณธ ๋ฐ ๋Œ€์ƒ ๋ถ„๊ธฐ๊ฐ€ ๊ฐˆ๋ผ์ง€๊ณ  ๋ณ„๋„๋กœ ๋Œ€์ฒ˜ํ•˜์ง€๋งŒ ํ•จ๊ป˜ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ๋ณ‘ํ•ฉํ•˜๊ธฐ ์ „์— ๋ณ‘ํ•ฉ๋œ ๊ฒฐ๊ณผ์— ๋Œ€ํ•œ ํŒŒ์ดํ”„๋ผ์ธ ์‹คํ–‰. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ๋ถ„๊ธฐ ๊ฐ„์— ์ž์ฃผ ์ด๋™๋˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ๋‚˜ํƒ€๋‚˜๋Š” ์˜ค๋ฅ˜๋ฅผ ๋น ๋ฅด๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ํŒŒ์ดํ”„๋ผ์ธ ์˜ค๋ฅ˜๋ฅผ ํ›จ์”ฌ ๋น ๋ฅด๊ฒŒ ์ˆ˜์ •ํ•˜๊ณ  GitLab ๋Ÿฌ๋„ˆ.

ํ˜‘์—…์„ ๋”์šฑ ์ตœ์ ํ™”ํ•˜์„ธ์š”

GitLab 11.10์—๋Š” ์›ํ™œํ•œ ํ˜‘์—…๊ณผ ๋‹จ์ˆœํ™”๋œ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์œ„ํ•œ ๋” ๋งŽ์€ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์•ˆ์— ์ด์ „ ํ˜ธ ๊ฒ€ํ† ์ž๊ฐ€ ๋ณ‘ํ•ฉ ์š”์ฒญ์— ๋Œ€ํ•œ ์ฃผ์„์˜ ํ•œ ์ค„์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ œ์•ˆํ•˜๊ณ  ์ฃผ์„ ์Šค๋ ˆ๋“œ์—์„œ ์ง์ ‘ ์ปค๋ฐ‹ํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ‘ํ•ฉ ์š”์ฒญ์— ๋Œ€ํ•œ ์ œ์•ˆ์„ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋“ค์€ ์ด ๊ธฐ๋Šฅ์„ ์ข‹์•„ํ–ˆ๊ณ  ์ด ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•ด ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋‹น์‹ ์€ ์ œ์•ˆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ์—ฌ๋Ÿฌ ์ค„์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ, ์ œ๊ฑฐํ•  ์ค„๊ณผ ์ถ”๊ฐ€ํ•  ์ค„์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

์—ฌ๋Ÿฌ๋ถ„์˜ ํ”ผ๋“œ๋ฐฑ๊ณผ ์ œ์•ˆ์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค!

๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์ด ์ „๋ถ€๋Š” ์•„๋‹™๋‹ˆ๋‹คโ€ฆ

์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค์—๋Š” ๋†€๋ผ์šด ๊ธฐ๋Šฅ์ด ๋„ˆ๋ฌด ๋งŽ์Šต๋‹ˆ๋‹ค. ํŠน์ • ์˜์—ญ์˜ ๋ฐ”๋กœ๊ฐ€๊ธฐ, ๋” ์ฒ ์ €ํ•˜๊ฒŒ ์ปจํ…Œ์ด๋„ˆ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์ฒญ์†Œ, ๊ตฌ์„ฑ ๊ฐ€๋Šฅํ•œ ์ž๋™ DevOps ๊ทธ๋ฆฌ๊ณ  ๊ธฐํšŒ ์ถ”๊ฐ€ CI ๋Ÿฌ๋„ˆ ์‹œ๊ฐ„ ๊ตฌ๋งค. ๋‹ค์Œ์€ ๊ฐ๊ฐ์— ๋Œ€ํ•œ ์„ธ๋ถ€์ •๋ณด์ž…๋‹ˆ๋‹ค.

์ด๋‹ฌ์˜ ๊ฐ€์žฅ ์†Œ์ค‘ํ•œ ์ง์›(MVP) โ€” ๋…ธ๊ตฌ์น˜ ํƒ€์ฟ ์•ผ

์ด๋ฒˆ ๋‹ฌ ๊ฐ€์žฅ ์†Œ์ค‘ํ•œ ์ง์›์€ ๋…ธ๊ตฌ์น˜ ํƒ€์ฟ ์•ผ ๋‹˜(๋…ธ๊ตฌ์น˜ ํƒ€์ฟ ์•ผ). ํƒ€์ฟ ์•ผ GitLab์˜ ์˜๊ด‘์„ ์œ„ํ•ด ์ข‹์€ ์ผ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค: ๋ฒ„๊ทธ ์ˆ˜์ •, ๋ฐฑ์—”๋“œ์™€ ํ”„๋ก ํŠธ์—”๋“œ์˜ ๋‹จ์  ๋ณด์™„, ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ๊ฐœ์„ . ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

GitLab 11.10์˜ ์ฃผ์š” ๊ธฐ๋Šฅ

์ œ์–ดํŒ์˜ ํŒŒ์ดํ”„๋ผ์ธ

ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ์‹ค๋ฒ„, ๊ณจ๋“œ

GitLab์˜ ๋Œ€์‹œ๋ณด๋“œ์—๋Š” ์ „์ฒด GitLab ์ธ์Šคํ„ด์Šค์˜ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๊ฐœ๋ณ„ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์”ฉ ์ถ”๊ฐ€ํ•˜๊ณ  ๊ด€์‹ฌ ์žˆ๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ํŒŒ์ดํ”„๋ผ์ธ ์ƒํƒœ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋Œ€์‹œ๋ณด๋“œ์— ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๊ฐœ๋ฐœ์ž๋Š” ํ•„์š”ํ•œ ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์˜ ํŒŒ์ดํ”„๋ผ์ธ ๊ธฐ๋Šฅ์„ ํ•˜๋‚˜์˜ ์ธํ„ฐํŽ˜์ด์Šค์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊นƒ๋žฉ 11.10

๋ณ‘ํ•ฉ๋œ ๊ฒฐ๊ณผ๋ฅผ ์œ„ํ•œ ํŒŒ์ดํ”„๋ผ์ธ

ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ์‹ค๋ฒ„, ๊ณจ๋“œ

์ง€์†์ ์œผ๋กœ ์†Œ์Šค ๋ธŒ๋žœ์น˜ ๊ฐ„์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ‘ธ์‹œํ•˜์ง€ ์•Š๋Š” ํ•œ ์‹œ๊ฐ„์ด ์ง€๋‚จ์— ๋”ฐ๋ผ ์†Œ์Šค ๋ธŒ๋žœ์น˜๊ฐ€ ๋Œ€์ƒ ๋ธŒ๋žœ์น˜์—์„œ ๋ถ„๊ธฐ๋˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์†Œ์Šค ๋ฐ ๋Œ€์ƒ ๋ธŒ๋žœ์น˜ ํŒŒ์ดํ”„๋ผ์ธ์€ "๋…น์ƒ‰"์ด๊ณ  ๋ณ‘ํ•ฉ ์ถฉ๋Œ์€ ์—†์ง€๋งŒ ํ˜ธํ™˜๋˜์ง€ ์•Š๋Š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ์œผ๋กœ ์ธํ•ด ๋ณ‘ํ•ฉ์ด ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.

๋ณ‘ํ•ฉ ์š”์ฒญ ํŒŒ์ดํ”„๋ผ์ธ์ด ์†Œ์Šค ๋ฐ ๋Œ€์ƒ ๋ธŒ๋žœ์น˜์˜ ๋ณ‘ํ•ฉ ๊ฒฐ๊ณผ๊ฐ€ ํฌํ•จ๋œ ์ƒˆ ๋งํฌ๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•˜๋ฉด ํ•ด๋‹น ๋งํฌ์—์„œ ํŒŒ์ดํ”„๋ผ์ธ์„ ์‹คํ–‰ํ•˜๊ณ  ์ „์ฒด ๊ฒฐ๊ณผ๊ฐ€ ์ž‘๋™ํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณ‘ํ•ฉ ์š”์ฒญ ํŒŒ์ดํ”„๋ผ์ธ(๋ชจ๋“  ์šฉ๋Ÿ‰)์„ ์‚ฌ์šฉํ•˜๊ณ  ๋น„๊ณต๊ฐœ GitLab ์‹คํ–‰๊ธฐ ๋ฒ„์ „ 11.8 ์ดํ•˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ด ๋ฌธ์ œ๋ฅผ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. gitlab-ee#11122. ์ด๋Š” ๊ณต๊ฐœ GitLab ์‹คํ–‰๊ธฐ ์‚ฌ์šฉ์ž์—๊ฒŒ๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊นƒ๋žฉ 11.10

์—ฌ๋Ÿฌ ์ค„์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ์ œ์•ˆ

์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ

๋ณ‘ํ•ฉ ์š”์ฒญ์„ ํ•จ๊ป˜ ์ž‘์—…ํ•  ๋•Œ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ  ์†”๋ฃจ์…˜์„ ์ œ์•ˆํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. GitLab 11.6๋ถ€ํ„ฐ ์šฐ๋ฆฌ๋Š” ์ง€์›ํ•ฉ๋‹ˆ๋‹ค ๋ณ€ํ™”๋ฅผ ์œ„ํ•œ ์ œ์•ˆ ํ•œ ์ค„์—.

๋ฒ„์ „ 11.10์—์„œ๋Š” ๋ณ‘ํ•ฉ ์š”์ฒญ diff ์ฃผ์„์ด ์—ฌ๋Ÿฌ ์ค„์— ๋Œ€ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ œ์•ˆํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์›๋ž˜ ๋ถ„๊ธฐ์— ๋Œ€ํ•œ ์“ฐ๊ธฐ ๊ถŒํ•œ์ด ์žˆ๋Š” ์‚ฌ๋žŒ์€ ๋ˆ„๊ตฌ๋‚˜ ํด๋ฆญ ํ•œ ๋ฒˆ์œผ๋กœ ์ด๋ฅผ ์ˆ˜๋ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ ๋•๋ถ„์— ์ด์ „ ๋ฒ„์ „๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ณต์‚ฌ-๋ถ™์—ฌ๋„ฃ๊ธฐ๋ฅผ ํ”ผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊นƒ๋žฉ 11.10

ํ•œ ์˜์—ญ์˜ ๋ฐ”๋กœ๊ฐ€๊ธฐ

ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ์‹ค๋ฒ„, ๊ณจ๋“œ

๋™์ผํ•œ ๋ฒ”์œ„์˜ ๋ ˆ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜๋ฉด ํŒ€์€ ์‚ฌ์šฉ์ž ์ •์˜ ํ•„๋“œ ๋˜๋Š” ์‚ฌ์šฉ์ž ์ •์˜ ์›Œํฌํ”Œ๋กœ ์ƒํƒœ๊ฐ€ ์žˆ๋Š” ์‹œ๋‚˜๋ฆฌ์˜ค์˜ ๋ฌธ์ œ, ๋ณ‘ํ•ฉ ์š”์ฒญ ๋˜๋Š” ์—ํ”ฝ์— ์ƒํ˜ธ ๋ฐฐํƒ€์ ์ธ ๋ ˆ์ด๋ธ”(๋™์ผํ•œ ๋ฒ”์œ„ ๋‚ด)์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ ˆ์ด๋ธ” ์ œ๋ชฉ์— ํŠน์ˆ˜ ์ฝœ๋ก  ๊ตฌ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.

ํ•จ์ˆ˜๊ฐ€ ๋Œ€์ƒ์œผ๋กœ ์‚ผ๋Š” ํ”Œ๋žซํผ์˜ ์šด์˜ ์ฒด์ œ๋ฅผ ์ถ”์ ํ•˜๊ธฐ ์œ„ํ•ด ์ž‘์—…์— ์‚ฌ์šฉ์ž ์ •์˜ ํ•„๋“œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ ์ž‘์—…์€ ํ•˜๋‚˜์˜ ํ”Œ๋žซํผ์—๋งŒ ๊ด€๋ จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ”๋กœ๊ฐ€๊ธฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค platform::iOS, platform::Android, platform::Linux ๊ทธ๋ฆฌ๊ณ  ํ•„์š”์— ๋”ฐ๋ผ ๊ธฐํƒ€. ์ด๋Ÿฌํ•œ ๋ฐ”๋กœ๊ฐ€๊ธฐ๋ฅผ ์ž‘์—…์— ์ ์šฉํ•˜๋ฉด ๋‹ค์Œ์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋‹ค๋ฅธ ๊ธฐ์กด ๋ฐ”๋กœ๊ฐ€๊ธฐ๊ฐ€ ์ž๋™์œผ๋กœ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค. platform::.

๋‹จ์ถ•ํ‚ค๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. workflow::development, workflow::review ะธ workflow::deployed, ํŒ€์˜ ์ž‘์—… ํ๋ฆ„ ์ƒํƒœ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ž‘์—…์— ์ด๋ฏธ ๋ฐ”๋กœ๊ฐ€๊ธฐ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ workflow::development, ๊ฐœ๋ฐœ์ž๋Š” ์ž‘์—…์„ ์Šคํ…Œ์ด์ง€๋กœ ์˜ฎ๊ธฐ๊ณ  ์‹ถ์–ดํ•ฉ๋‹ˆ๋‹ค. workflow::review, ์ƒˆ๋กœ์šด ๋‹จ์ถ•ํ‚ค์™€ ์ด์ „ ๋‹จ์ถ•ํ‚ค๋ฅผ ์ ์šฉํ•  ๋ฟ์ž…๋‹ˆ๋‹ค(workflow::development)์€ ์ž๋™์œผ๋กœ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค. ํŒ€์˜ ์›Œํฌํ”Œ๋กœ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ž‘์—… ๋ณด๋“œ์˜ ๋ฐ”๋กœ ๊ฐ€๊ธฐ ๋ชฉ๋ก ๊ฐ„์— ์ž‘์—…์„ ์ด๋™ํ•  ๋•Œ ์ด ๋™์ž‘์ด ์ด๋ฏธ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ์ž‘์—… ๋ณด๋“œ๋ฅผ ์ง์ ‘ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ํŒ€ ๊ตฌ์„ฑ์›์€ ์ž‘์—… ์ž์ฒด์—์„œ ์›Œํฌํ”Œ๋กœ ์ƒํƒœ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊นƒ๋žฉ 11.10

์ปจํ…Œ์ด๋„ˆ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ๋”์šฑ ์ฒ ์ €ํ•˜๊ฒŒ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ

์ผ๋ฐ˜์ ์œผ๋กœ CI ํŒŒ์ดํ”„๋ผ์ธ๊ณผ ํ•จ๊ป˜ ์ปจํ…Œ์ด๋„ˆ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์—ฌ๋Ÿฌ ๊ฐœ๋ณ„ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋‹จ์ผ ํƒœ๊ทธ์— ํ‘ธ์‹œํ•ฉ๋‹ˆ๋‹ค. Docker์˜ ๋ฐฐํฌ ๊ตฌํ˜„์œผ๋กœ ์ธํ•ด ๊ธฐ๋ณธ ๋™์ž‘์€ ๋ชจ๋“  ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์‹œ์Šคํ…œ์— ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด์ง€๋งŒ ๊ฒฐ๊ตญ ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฐจ์ง€ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ -m ั registry-garbage-collect์„ ์‚ฌ์šฉํ•˜๋ฉด ์ด์ „ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ชจ๋‘ ๋น ๋ฅด๊ฒŒ ์‚ญ์ œํ•˜๊ณ  ๊ท€์ค‘ํ•œ ๊ณต๊ฐ„์„ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊นƒ๋žฉ 11.10

์ถ”๊ฐ€ CI Runner ์‹œ๊ฐ„ ๊ตฌ๋งค

๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ

์œ ๋ฃŒ GitLab.com ํ”Œ๋žœ(Gold, Silver, Bronze)์„ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž๋Š” ์ด์ œ CI Runner ์‹œ๊ฐ„์„ ์ถ”๊ฐ€๋กœ ๊ตฌ๋งคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ๊ณ„ํš์— ์ œ๊ณต๋œ ํ• ๋‹น๋Ÿ‰์„ ์ถฉ์กฑํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฐœ์„  ์‚ฌํ•ญ์„ ํ†ตํ•ด ํ• ๋‹น๋Ÿ‰ ์ดˆ๊ณผ ์‹œ๊ฐ„์„ ์‚ฌ์ „ ๊ตฌ๋งคํ•˜์—ฌ ํŒŒ์ดํ”„๋ผ์ธ ์ข…๋ฃŒ๋กœ ์ธํ•œ ์ค‘๋‹จ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ 1000๋ถ„ ๋น„์šฉ์€ 8๋‹ฌ๋Ÿฌ์ด๋ฉฐ ์›ํ•˜๋Š” ๋งŒํผ ๊ตฌ๋งคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์›” ํ• ๋‹น๋Ÿ‰์„ ๋ชจ๋‘ ์†Œ์ง„ํ•˜๋ฉด ์ถ”๊ฐ€ ์‹œ๊ฐ„์ด ์‚ฌ์šฉ๋˜๊ธฐ ์‹œ์ž‘ํ•˜๋ฉฐ, ๋‚จ์€ ์ถ”๊ฐ€ ์‹œ๊ฐ„์€ ๋‹ค์Œ ๋‹ฌ๋กœ ์ด์›”๋ฉ๋‹ˆ๋‹ค. ์•ˆ์— ํ–ฅํ›„ ์ถœ์‹œ ์šฐ๋ฆฌ๋Š” ์ด ๊ธฐ๋Šฅ์„ ๋ฌด๋ฃŒ ํ”Œ๋žœ์—๋„ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

๊นƒ๋žฉ 11.10

์ปดํฌ์ €๋ธ” ์ž๋™ DevOps

์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ

Auto DevOps๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŒ€์€ ๊ฑฐ์˜ ๋…ธ๋ ฅํ•˜์ง€ ์•Š๊ณ ๋„ ์ตœ์‹  DevOps ๋ฐฉ์‹์œผ๋กœ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. GitLab 11.10๋ถ€ํ„ฐ Auto DevOps์˜ ๊ฐ ์ž‘์—…์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ๋…๋ฆฝ ํ…œํ”Œ๋ฆฟ. ์‚ฌ์šฉ์ž๋Š” ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ั„ัƒะฝะบั†ะธัŽ includes GitLab CI์—์„œ Auto DevOps์˜ ๊ฐœ๋ณ„ ๋‹จ๊ณ„๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ณ  ๋™์‹œ์— ์‚ฌ์šฉ์ž ์ •์˜ ํŒŒ์ผ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. gitlab-ci.yml. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ•„์š”ํ•œ ์ž‘์—…๋งŒ ํ™œ์„ฑํ™”ํ•˜๊ณ  ์—…์ŠคํŠธ๋ฆผ ์—…๋ฐ์ดํŠธ๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊นƒ๋žฉ 11.10

SCIM์„ ์‚ฌ์šฉํ•˜์—ฌ GitLab.com์—์„œ ๊ทธ๋ฃน ๊ตฌ์„ฑ์›์„ ์ž๋™์œผ๋กœ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

์‹ค๋ฒ„, ๊ณจ๋“œ

์ด์ „์—๋Š” GitLab.com์—์„œ ๊ทธ๋ฃน ๋ฉค๋ฒ„์‹ญ์„ ์ˆ˜๋™์œผ๋กœ ๊ด€๋ฆฌํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ SAML SSO๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  SCIM์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉค๋ฒ„์‹ญ์„ ๊ด€๋ฆฌํ•˜์—ฌ GitLab.com์—์„œ ์‚ฌ์šฉ์ž๋ฅผ ์ƒ์„ฑ, ์‚ญ์ œ ๋ฐ ์—…๋ฐ์ดํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Š” ์‚ฌ์šฉ์ž ์ˆ˜๊ฐ€ ๋งŽ๊ณ  ์ค‘์•™ ์ง‘์ค‘์‹ ID ๊ณต๊ธ‰์ž๊ฐ€ ์žˆ๋Š” ํšŒ์‚ฌ์— ํŠนํžˆ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ Azure Active Directory์™€ ๊ฐ™์€ ๋‹จ์ผ ์ •๋ณด ์†Œ์Šค๋ฅผ ๋ณด์œ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์‚ฌ์šฉ์ž๋Š” ์ˆ˜๋™์ด ์•„๋‹Œ ID ๊ณต๊ธ‰์ž๋ฅผ ํ†ตํ•ด ์ž๋™์œผ๋กœ ์ƒ์„ฑ ๋ฐ ์‚ญ์ œ๋ฉ๋‹ˆ๋‹ค.

๊นƒ๋žฉ 11.10

SAML ๊ณต๊ธ‰์ž๋ฅผ ํ†ตํ•ด GitLab.com์— ๋กœ๊ทธ์ธํ•˜์„ธ์š”.

์‹ค๋ฒ„, ๊ณจ๋“œ

์ด์ „์—๋Š” ๊ทธ๋ฃน์— SAML SSO๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์‚ฌ์šฉ์ž๋Š” GitLab ์ž๊ฒฉ ์ฆ๋ช… ๋ฐ ID ๊ณต๊ธ‰์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๊ทธ์ธํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ SSO๋ฅผ ํ†ตํ•ด ๊ตฌ์„ฑ๋œ ๊ทธ๋ฃน๊ณผ ์—ฐ๊ฒฐ๋œ GitLab ์‚ฌ์šฉ์ž๋กœ ์ง์ ‘ ๋กœ๊ทธ์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž๋Š” ๋‘ ๋ฒˆ ๋กœ๊ทธ์ธํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋ฏ€๋กœ ํšŒ์‚ฌ๋Š” GitLab.com์— SAML SSO๋ฅผ ๋” ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊นƒ๋žฉ 11.10

GitLab 11.10์˜ ๊ธฐํƒ€ ๊ฐœ์„  ์‚ฌํ•ญ

ํ•˜์œ„ ์„œ์‚ฌ์‹œ ์Šคํ‚ค๋งˆ

์–ผํ‹ฐ๋ฐ‹, ๊ณจ๋“œ

์ด์ „ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ์ž‘์—… ๋ถ„๋ฐฐ ๊ตฌ์กฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋„๋ก ํ•˜์œ„ ์—ํ”ฝ(์—ํ”ฝ์˜ ์—ํ”ฝ)์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์œ„ ์—ํ”ฝ์€ ์ƒ์œ„ ์—ํ”ฝ ํŽ˜์ด์ง€์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

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

๊นƒ๋žฉ 11.10

๋ณ‘ํ•ฉ ์š”์ฒญ ํŒ์—… ํ™”๋ฉด

์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ

์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ๋ณ‘ํ•ฉ ์š”์ฒญ ๋งํฌ ์œ„๋กœ ๋งˆ์šฐ์Šค๋ฅผ ๊ฐ€์ ธ๊ฐ€๋ฉด ํŒ์—…์œผ๋กœ ํ‘œ์‹œ๋˜๋Š” ์ •๋ณด ํ™”๋ฉด์ด ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ๋ณ‘ํ•ฉ ์š”์ฒญ ์ œ๋ชฉ๋งŒ ํ‘œ์‹œํ–ˆ์ง€๋งŒ ์ด์ œ๋Š” ๋ณ‘ํ•ฉ ์š”์ฒญ ์ƒํƒœ, CI ํŒŒ์ดํ”„๋ผ์ธ ์ƒํƒœ, ๋‹จ์ถ• URL๋„ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

ํ–ฅํ›„ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ๋” ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค. ์ฑ…์ž„์ž ๋ฐ ํ†ต์ œ ์ง€์ , ๋‹ค์Œ์— ๋Œ€ํ•œ ํŒ์—… ํ™”๋ฉด๋„ ์†Œ๊ฐœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ณผ์ œ.

๊นƒ๋žฉ 11.10

๋Œ€์ƒ ๋ธŒ๋žœ์น˜๋ณ„๋กœ ๋ณ‘ํ•ฉ ์š”์ฒญ ํ•„ํ„ฐ๋ง

์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ

์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ์ถœ์‹œํ•˜๊ฑฐ๋‚˜ ๋ฐฐ์†กํ•˜๊ธฐ ์œ„ํ•œ Git ์›Œํฌํ”Œ๋กœ์—๋Š” ์ด์ „ ๋ฒ„์ „์„ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ์žฅ๊ธฐ ๋ถ„๊ธฐ๊ฐ€ ํฌํ•จ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค(์˜ˆ: stable-11-9) ๋˜๋Š” ํ’ˆ์งˆ ํ…Œ์ŠคํŠธ์—์„œ ์ƒ์‚ฐ์œผ๋กœ ์ด๋™(์˜ˆ: integration), ๊ทธ๋Ÿฌ๋‚˜ ์ˆ˜๋งŽ์€ ๊ณต๊ฐœ ๋ณ‘ํ•ฉ ์š”์ฒญ ์ค‘์—์„œ ์ด๋Ÿฌํ•œ ๋ถ„๊ธฐ์— ๋Œ€ํ•œ ๋ณ‘ํ•ฉ ์š”์ฒญ์„ ์ฐพ๋Š” ๊ฒƒ์€ ์‰ฝ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด์ œ ํ”„๋กœ์ ํŠธ ๋ฐ ๊ทธ๋ฃน์— ๋Œ€ํ•œ ๋ณ‘ํ•ฉ ์š”์ฒญ ๋ชฉ๋ก์„ ๋ณ‘ํ•ฉ ์š”์ฒญ์˜ ๋Œ€์ƒ ๋ถ„๊ธฐ๋ณ„๋กœ ํ•„ํ„ฐ๋งํ•˜์—ฌ ํ•„์š”ํ•œ ํ•ญ๋ชฉ์„ ๋” ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค, ์‚ฌํ†  ํžˆ๋กœ์œ ํ‚ค ์”จ(์‚ฌํ†  ํžˆ๋กœ์œ ํ‚ค)!

๊นƒ๋žฉ 11.10

ํŒŒ์ดํ”„๋ผ์ธ ์„ฑ๊ณต ์‹œ ์ „์†ก ๋ฐ ๋ณ‘ํ•ฉ

์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ

ํŠธ๋ ํฌ ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋‹จ์ผ ์†Œ์œ ์ž๊ฐ€ ์žˆ๋Š” ์†Œ๊ทœ๋ชจ ์ž„์‹œ ๋ถ„๊ธฐ๋ฅผ ์„ ํ˜ธํ•˜์—ฌ ์ˆ˜๋ช…์ด ๊ธด ๋ถ„๊ธฐ๋ฅผ ํ”ผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž‘์€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ๋Œ€์ƒ ๋ธŒ๋žœ์น˜์— ์ง์ ‘ ํ‘ธ์‹œ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์ง€๋งŒ ๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด ๋นŒ๋“œ๊ฐ€ ์†์ƒ๋  ์œ„ํ—˜์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค์—์„œ GitLab์€ ๋ณ‘ํ•ฉ ์š”์ฒญ์„ ์ž๋™์œผ๋กœ ์—ด๊ณ , ๋Œ€์ƒ ๋ถ„๊ธฐ๋ฅผ ์„ค์ •ํ•˜๊ณ , ๋ถ„๊ธฐ๋กœ ํ‘ธ์‹œํ•  ๋•Œ ๋ช…๋ น์ค„์—์„œ ์„ฑ๊ณต์ ์ธ ํŒŒ์ดํ”„๋ผ์ธ์— ๋ณ‘ํ•ฉ์„ ์‹œํ–‰ํ•˜๋Š” ์ƒˆ๋กœ์šด Git ํ‘ธ์‹œ ์˜ต์…˜์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๊นƒ๋žฉ 11.10

์™ธ๋ถ€ ๋Œ€์‹œ๋ณด๋“œ์™€์˜ ํ†ตํ•ฉ ๊ฐœ์„ 

์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ

GitLab์€ ์—ฌ๋Ÿฌ Prometheus ์„œ๋ฒ„(ํ™˜๊ฒฝ, ํ”„๋กœ์ ํŠธ ๋ฐ ๊ทธ๋ฃน(์˜ˆ์ƒ)), ๊ทธ๋Ÿฌ๋‚˜ ์—”๋“œํฌ์ธํŠธ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ ์žˆ์œผ๋ฉด ๋ณต์žก์„ฑ์ด ์ถ”๊ฐ€๋˜๊ฑฐ๋‚˜ ํ‘œ์ค€ ๋Œ€์‹œ๋ณด๋“œ์—์„œ ์ง€์›๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค๋ฅผ ํ†ตํ•ด ํŒ€์€ ๋‹จ์ผ Prometheus API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Grafana์™€ ๊ฐ™์€ ์„œ๋น„์Šค์™€์˜ ํ†ตํ•ฉ์„ ํ›จ์”ฌ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์œ„ํ‚ค ํŽ˜์ด์ง€๋ฅผ ์ƒ์„ฑ ๋‚ ์งœ๋ณ„๋กœ ์ •๋ ฌ

์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ

ํ”„๋กœ์ ํŠธ Wiki์—์„œ ํŒ€์€ ์†Œ์Šค ์ฝ”๋“œ ๋ฐ ์ž‘์—…๊ณผ ํ•จ๊ป˜ ๋ฌธ์„œ ๋ฐ ๊ธฐํƒ€ ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” Wiki ํŽ˜์ด์ง€ ๋ชฉ๋ก์„ ์ƒ์„ฑ ๋‚ ์งœ์™€ ์ œ๋ชฉ๋ณ„๋กœ ์ •๋ ฌํ•˜์—ฌ ์ตœ๊ทผ ์ƒ์„ฑ๋œ ์ฝ˜ํ…์ธ ๋ฅผ ๋น ๋ฅด๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊นƒ๋žฉ 11.10

ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์š”์ฒญํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฆฌ์†Œ์Šค

์–ผํ‹ฐ๋ฐ‹, ๊ณจ๋“œ

GitLab์€ ๊ฐœ๋ฐœ ๋ฐ ํ”„๋กœ๋•์…˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์œ„ํ•ด Kubernetes ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค๋ถ€ํ„ฐ ํด๋Ÿฌ์Šคํ„ฐ์˜ CPU ๋ฐ ๋ฉ”๋ชจ๋ฆฌ ์š”์ฒญ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜์—ฌ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์ „์— ์ž ์žฌ์ ์ธ ๋ฌธ์ œ๋ฅผ ์ฐพ์•„๋ณด์„ธ์š”.

๊นƒ๋žฉ 11.10

Grafana ๋Œ€์‹œ๋ณด๋“œ์—์„œ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ ์ธก์ •ํ•ญ๋ชฉ ๋ณด๊ธฐ

์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹

GitLab ์ธ์Šคํ„ด์Šค์˜ ์ƒํƒœ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ๋‚ด์žฅ๋œ Grafana ์ธ์Šคํ„ด์Šค๋ฅผ ํ†ตํ•ด ๊ธฐ๋ณธ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์ œ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค๋ถ€ํ„ฐ NGINX ๋กœ๋“œ ๋ฐธ๋Ÿฐ์„œ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ธฐ ์œ„ํ•œ ์ถ”๊ฐ€ ๋Œ€์‹œ๋ณด๋“œ๊ฐ€ โ€‹โ€‹ํฌํ•จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์—˜๋ฆญ์„œ์šฉ SAST

์–ผํ‹ฐ๋ฐ‹, ๊ณจ๋“œ

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

ํ•˜๋‚˜์˜ ๋‹ค์ด์–ด๊ทธ๋žจ์— ์—ฌ๋Ÿฌ ์ฟผ๋ฆฌ๊ฐ€ ์žˆ์Œ

ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ์‹ค๋ฒ„, ๊ณจ๋“œ

GitLab์—์„œ๋Š” ์ฐจํŠธ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์ˆ˜์ง‘ํ•œ ์ธก์ •ํ•ญ๋ชฉ์„ ์‹œ๊ฐํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ธก์ •ํ•ญ๋ชฉ์˜ ์ตœ๋Œ€๊ฐ’์ด๋‚˜ ํ‰๊ท ๊ฐ’์„ ํ™•์ธํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์—ฌ๋Ÿฌ ๊ฐ’์„ ํ•˜๋‚˜์˜ ์ฐจํŠธ์— ํ‘œ์‹œํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค๋ถ€ํ„ฐ ์ด๋Ÿฌํ•œ ๊ธฐํšŒ๊ฐ€ ์ฃผ์–ด์กŒ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฃน ๋ณด์•ˆ ๋Œ€์‹œ๋ณด๋“œ์˜ DAST ๊ฒฐ๊ณผ

์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ

SAST, ์ปจํ…Œ์ด๋„ˆ ์Šค์บ๋‹, ์ข…์†์„ฑ ์Šค์บ๋‹ ์™ธ์—๋„ ํŒ€์˜ ๋ณด์•ˆ ๋Œ€์‹œ๋ณด๋“œ์— DAST(Dynamic Application Security Testing) ๊ฒฐ๊ณผ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.

์ปจํ…Œ์ด๋„ˆ ์Šค์บ” ๋ณด๊ณ ์„œ์— ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ์ถ”๊ฐ€

์–ผํ‹ฐ๋ฐ‹, ๊ณจ๋“œ

์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ์ปจํ…Œ์ด๋„ˆ ์Šค์บ” ๋ณด๊ณ ์„œ์— ๋” ๋งŽ์€ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๊ตฌ์„ฑ ์š”์†Œ (Clair ๊ธฐ๋Šฅ)์„ ๊ธฐ์กด ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ์— ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค: ์šฐ์„  ์ˆœ์œ„, ์‹๋ณ„์ž(mitre.org ์ฐธ์กฐ) ๋ฐ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ์ˆ˜์ค€(์˜ˆ: debian:8).

์š”์ฒญ ๋ณ‘ํ•ฉ์— ์ง€ํ‘œ ๋ณด๊ณ ์„œ ์œ ํ˜• ์ถ”๊ฐ€

ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ์‹ค๋ฒ„, ๊ณจ๋“œ

GitLab์€ ์ด๋ฏธ ๋ณ‘ํ•ฉ ์š”์ฒญ์— ์ง์ ‘ ํฌํ•จ๋  ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ ์œ ํ˜•์˜ ๋ณด๊ณ ์„œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ ํ’ˆ์งˆ ะธ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ๊ฒ€์ฆ๋‹จ๊ณ„์—์„œ ๊นŒ์ง€ SAST ะธ ๋งˆ์ง€๋ง‰ ๋ณดํ˜ธ ๋‹จ๊ณ„์—์„œ.

์ด๋Š” ์ค‘์š”ํ•œ ๋ณด๊ณ ์„œ์ด์ง€๋งŒ ๋‹ค์–‘ํ•œ ์‹œ๋‚˜๋ฆฌ์˜ค์— ๋งž๋Š” ๊ธฐ๋ณธ ์ •๋ณด๋„ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. GitLab 11.10์—์„œ๋Š” ๊ฐ„๋‹จํ•œ ํ‚ค-๊ฐ’ ์Œ์„ ์˜ˆ์ƒํ•˜๋Š” ๋ณ‘ํ•ฉ ์š”์ฒญ์—์„œ ์ง์ ‘ ์ธก์ •ํ•ญ๋ชฉ ๋ณด๊ณ ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉ์ž๋Š” ์‚ฌ์šฉ์ž ์ง€์ • ์ธก์ • ํ•ญ๋ชฉ๊ณผ ํŠน์ • ๋ณ‘ํ•ฉ ์š”์ฒญ์— ๋Œ€ํ•œ ์ธก์ • ํ•ญ๋ชฉ์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํฌํ•จํ•˜์—ฌ ์‹œ๊ฐ„ ๊ฒฝ๊ณผ์— ๋”ฐ๋ฅธ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ถ”์ ํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰, ์ „๋ฌธ์ ์ธ ์›Œํฌ๋กœ๋“œ ํ…Œ์ŠคํŠธ ๋ฐ ์ƒํƒœ๋Š” ๋‹ค๋ฅธ ๊ธฐ๋ณธ ์ œ๊ณต ๋ณด๊ณ ์„œ์™€ ํ•จ๊ป˜ ๋ณ‘ํ•ฉ ์š”์ฒญ์—์„œ ์ง์ ‘ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฐ„๋‹จํ•œ ์ธก์ •ํ•ญ๋ชฉ์œผ๋กœ ๋ณ€ํ™˜๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ข…์†์„ฑ ๊ฒ€์ƒ‰์„ ์œ„ํ•œ ๋‹ค์ค‘ ๋ชจ๋“ˆ Maven ํ”„๋กœ์ ํŠธ ์ง€์›

์–ผํ‹ฐ๋ฐ‹, ๊ณจ๋“œ

์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ๋‹ค์ค‘ ๋ชจ๋“ˆ Maven ํ”„๋กœ์ ํŠธ๊ฐ€ GitLab ์ข…์†์„ฑ ๊ฒ€์ƒ‰์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ํ•˜์œ„ ๋ชจ๋“ˆ์ด ๋™์ผํ•œ ์ˆ˜์ค€์˜ ๋‹ค๋ฅธ ํ•˜์œ„ ๋ชจ๋“ˆ์— ์ข…์†๋œ ๊ฒฝ์šฐ ์ค‘์•™ Maven ์ €์žฅ์†Œ์—์„œ ๋กœ๋“œํ•˜๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋‘ ๊ฐœ์˜ ๋ชจ๋“ˆ๊ณผ ๋‘ ๋ชจ๋“ˆ ๊ฐ„์˜ ์ข…์†์„ฑ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์ค‘ ๋ชจ๋“ˆ Maven ํ”„๋กœ์ ํŠธ๊ฐ€ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด์ œ ๋นŒ๋“œ๋ฅผ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ˜•์ œ ๋ชจ๋“ˆ ๊ฐ„์˜ ์ข…์†์„ฑ์„ ๋กœ์ปฌ Maven ์ €์žฅ์†Œ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž๋Š” CI์—์„œ ๋ณต์ œ ๊ฒฝ๋กœ๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ

๊ธฐ๋ณธ์ ์œผ๋กœ GitLab Runner๋Š” ํ”„๋กœ์ ํŠธ๋ฅผ ๋‹ค์Œ์˜ ๊ณ ์œ ํ•œ ํ•˜์œ„ ๊ฒฝ๋กœ์— ๋ณต์ œํ•ฉ๋‹ˆ๋‹ค. $CI_BUILDS_DIR. ๊ทธ๋Ÿฌ๋‚˜ Golang๊ณผ ๊ฐ™์€ ์ผ๋ถ€ ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ ์ฝ”๋“œ๋ฅผ ๋นŒ๋“œํ•˜๋ ค๋ฉด ํŠน์ • ๋””๋ ‰ํ„ฐ๋ฆฌ์— ์ฝ”๋“œ๋ฅผ ๋ณต์ œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

GitLab 11.10์—์„œ๋Š” ๋ณ€์ˆ˜๋ฅผ ๋„์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค. GIT_CLONE_PATH, ์ž‘์—…์„ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— GitLab Runner๊ฐ€ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ณต์ œํ•˜๋Š” ํŠน์ • ๊ฒฝ๋กœ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋กœ๊ทธ์—์„œ ๋ณดํ˜ธ๋œ ๋ณ€์ˆ˜์˜ ๊ฐ„๋‹จํ•œ ๋งˆ์Šคํ‚น

์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ

GitLab์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด ะธ ์ง€์—ญ์„ ์ œํ•œํ•˜๋‹ค GitLab CI/CD์˜ ๋ณ€์ˆ˜. ๊ทธ๋Ÿฌ๋‚˜ ๋ณ€์ˆ˜๋Š” ์˜๋„์ ์œผ๋กœ๋“  ์‹ค์ˆ˜๋กœ๋“  ์—ฌ์ „ํžˆ ๋นŒ๋“œ ๋กœ๊ทธ์— ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

GitLab์€ ์œ„ํ—˜ ๊ด€๋ฆฌ ๋ฐ ๊ฐ์‚ฌ๋ฅผ ์ง„์ง€ํ•˜๊ฒŒ ๋ฐ›์•„๋“ค์ด๊ณ  ๊ทœ์ • ์ค€์ˆ˜ ๊ธฐ๋Šฅ์„ ๊ณ„์† ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. GitLab 11.10์—์„œ๋Š” ์ž‘์—… ์ถ”์  ๋กœ๊ทธ์—์„œ ํŠน์ • ์œ ํ˜•์˜ ๋ณ€์ˆ˜๋ฅผ ๋งˆ์Šคํ‚นํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋„์ž…ํ•˜์—ฌ ์ด๋Ÿฌํ•œ ๋ณ€์ˆ˜์˜ ๋‚ด์šฉ์ด ์‹ค์ˆ˜๋กœ ๋กœ๊ทธ์— ํฌํ•จ๋˜๋Š” ๊ฒƒ์— ๋Œ€ํ•œ ๋ณดํ˜ธ ์ˆ˜์ค€์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ GitLab ์ž๋™์œผ๋กœ ๋งˆ์Šคํฌ ๋งŽ์€ ๋‚ด์žฅ ํ† ํฐ ๋ณ€์ˆ˜.

ํŒ€ ์ˆ˜์ค€์—์„œ ์ž๋™ DevOps ํ™œ์„ฑํ™” ๋˜๋Š” ๋น„ํ™œ์„ฑํ™”

์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ

GitLab.com ํ”„๋กœ์ ํŠธ์˜ ์ž๋™ DevOps๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฒˆ๊ฑฐ๋กœ์›€ ์—†์ด ๋นŒ๋“œ๋ถ€ํ„ฐ ์ œ๊ณต๊นŒ์ง€ ์ตœ์‹  DevOps ์›Œํฌํ”Œ๋กœ๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

GitLab 11.10๋ถ€ํ„ฐ ๋™์ผํ•œ ๊ทธ๋ฃน์˜ ๋ชจ๋“  ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•ด Auto DevOps๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ฑฐ๋‚˜ ๋น„ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹จ์ˆœํ™”๋˜๊ณ  ๊ฐœ์„ ๋œ ๋ผ์ด์„ ์Šค ํŽ˜์ด์ง€

์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹

๋ผ์ด์„ ์Šค ํ‚ค ๊ด€๋ฆฌ๋ฅผ ๋”์šฑ ํŽธ๋ฆฌํ•˜๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ๊ด€๋ฆฌ์ž ํŒจ๋„์˜ ๋ผ์ด์„ ์Šค ํŽ˜์ด์ง€๋ฅผ ๋‹ค์‹œ ๋””์ž์ธํ•˜๊ณ  ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์š”์†Œ๋ฅผ ๊ฐ•์กฐํ–ˆ์Šต๋‹ˆ๋‹ค.

๊นƒ๋žฉ 11.10

Kubernetes ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ ๋ฐ”๋กœ๊ฐ€๊ธฐ ์„ ํƒ๊ธฐ ์—…๋ฐ์ดํŠธ

์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ

๋ฐฐํฌ ํŒจ๋„์—๋Š” ๋ชจ๋“  Kubernetes ๋ฐฐํฌ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.

์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ๋ฐ”๋กœ๊ฐ€๊ธฐ๋ฅผ ๋ฐฐํฌ์— ๋งคํ•‘ํ•˜๋Š” ๋ฐฉ์‹์„ ๋ณ€๊ฒฝํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๊ฒฝ๊ธฐ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. app.example.com/app ะธ app.example.com/env ๋˜๋Š” app. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ํ•„ํ„ฐ๋ง ์ถฉ๋Œ๊ณผ ํ”„๋กœ์ ํŠธ์™€ ๊ด€๋ จ๋œ ์ž˜๋ชป๋œ ๋ฐฐํฌ ์œ„ํ—˜์ด ๋ฐฉ์ง€๋ฉ๋‹ˆ๋‹ค.

๋˜ํ•œ GitLab 12.0์—์„œ๋Š” Kubernetes ๋ฐฐํฌ ์„ ํƒ๊ธฐ์—์„œ ์•ฑ ๋ ˆ์ด๋ธ”์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค., ์ผ์น˜๋Š” ๋‹ค์Œ ์‚ฌ๋žŒ์— ์˜ํ•ด์„œ๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. app.example.com/app ะธ app.example.com/env.

Kubernetes ๋ฆฌ์†Œ์Šค๋ฅผ ๋™์ ์œผ๋กœ ์ƒ์„ฑ

์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ

Kubernetes์™€ GitLab์˜ ํ†ตํ•ฉ์„ ํ†ตํ•ด ๊ฐ GitLab ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ์„œ๋น„์Šค ๊ณ„์ • ๋ฐ ์ „์šฉ ๋„ค์ž„์ŠคํŽ˜์ด์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ RBAC ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค๋ถ€ํ„ฐ ํšจ์œจ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์ด๋Ÿฌํ•œ ๋ฆฌ์†Œ์Šค๋Š” ๋ฐฐํฌ์— ํ•„์š”ํ•  ๋•Œ๋งŒ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

Kubernetes๋ฅผ ๋ฐฐํฌํ•  ๋•Œ GitLab CI๋Š” ๋ฐฐํฌ ์ „์— ์ด๋Ÿฌํ•œ ๋ฆฌ์†Œ์Šค๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฃน ์ˆ˜์ค€ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๊ทธ๋ฃน ์‹คํ–‰์ž

์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ

์ด์ œ ๊ทธ๋ฃน ์ˆ˜์ค€ ํด๋Ÿฌ์Šคํ„ฐ๋Š” GitLab Runner ์„ค์น˜๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฃน ์ˆ˜์ค€ Kubernetes ์‹คํ–‰์ž๋Š” ํ•˜์œ„ ํ”„๋กœ์ ํŠธ์— ๋ ˆ์ด๋ธ”์ด ์ง€์ •๋œ ๊ทธ๋ฃน ์‹คํ–‰์ž๋กœ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค. cluster ะธ kubernetes.

Knative ํ•จ์ˆ˜์— ๋Œ€ํ•œ ํ˜ธ์ถœ ์นด์šดํ„ฐ

์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ

๋ฐฐํฌ๋œ ๊ธฐ๋Šฅ GitLab ์„œ๋ฒ„๋ฆฌ์Šค, ์ด์ œ ํŠน์ • ๊ธฐ๋Šฅ์— ๋Œ€ํ•ด ์ˆ˜์‹ ๋œ ํ˜ธ์ถœ ์ˆ˜๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” Knative๊ฐ€ ์„ค์น˜๋œ ํด๋Ÿฌ์Šคํ„ฐ์— Prometheus๋ฅผ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊นƒ๋žฉ 11.10

๋งค๊ฐœ๋ณ€์ˆ˜ ์ œ์–ด git clean GitLab CI/CD ์ž‘์—…์šฉ

์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ

๊ธฐ๋ณธ์ ์œผ๋กœ GitLab Runner๋Š” ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. git clean GitLab CI/CD์—์„œ ์ž‘์—…์„ ์‹คํ–‰ํ•  ๋•Œ ์ฝ”๋“œ๋ฅผ ์—…๋กœ๋“œํ•˜๋Š” ๊ณผ์ • ์ค‘. GitLab 11.10๋ถ€ํ„ฐ ์‚ฌ์šฉ์ž๋Š” ํŒ€์— ์ „๋‹ฌ๋˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. git clean. ์ด๋Š” ์ „์šฉ ์‹คํ–‰์ž๊ฐ€ ์žˆ๋Š” ํŒ€๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋Œ€๊ทœ๋ชจ ๋‹จ์ผ ์ €์žฅ์†Œ์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆ˜์ง‘ํ•˜๋Š” ํŒ€์—๋„ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด์ œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ์–ธ๋กœ๋“œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๋ณ€์ˆ˜ GIT_CLEAN_FLAGS ๊ธฐ๋ณธ๊ฐ’์€ -ffdx ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๋ช…๋ น ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. [git clean](https://git-scm.com/docs/git-clean).

Core์˜ ์™ธ๋ถ€ ์ธ์ฆ

์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ

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

Core์—์„œ ๊ทธ๋ฃน์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ

์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ

๊ฐœ๋ฐœ์ž ์—ญํ• ์€ ๊ทธ๋ฃน์œผ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„์ „ 10.5๋ถ€ํ„ฐ, ์ด์ œ Core์—์„œ ์ด๊ฒƒ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ์€ GitLab์˜ ์ƒ์‚ฐ์„ฑ์„ ์œ„ํ•œ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์ด๋ฉฐ, Core์— ์ด ๊ธฐ๋Šฅ์„ ํฌํ•จํ•จ์œผ๋กœ์จ ์ด์ œ ์ธ์Šคํ„ด์Šค ๊ตฌ์„ฑ์›์ด ์ƒˆ๋กœ์šด ์ž‘์—…์„ ๋” ์‰ฝ๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

GitLab ๋Ÿฌ๋„ˆ 11.10

์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ

์˜ค๋Š˜ ์šฐ๋ฆฌ๋Š” GitLab Runner 11.10์„ ์ถœ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค! GitLab Runner๋Š” CI/CD ์ž‘์—…์„ ์‹คํ–‰ํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ GitLab์œผ๋กœ ๋‹ค์‹œ ๋ณด๋‚ด๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค.

๊ฐ€์žฅ ํฅ๋ฏธ๋กœ์šด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ „์ฒด ๋ณ€๊ฒฝ ๋ชฉ๋ก์€ GitLab Runner ๋ณ€๊ฒฝ ๋กœ๊ทธ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ๋กœ๊ทธ.

๋ฐ˜ํ™˜๋œ ๋‚ด์šฉ ์ˆ˜์ • project_id Elasticsearch์˜ Blob ๊ฒ€์ƒ‰ API์—์„œ

์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹

Elasticsearch Blob ๊ฒ€์ƒ‰ API์—์„œ 0์„ ์ž˜๋ชป ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. project_id. ํ•„์š”ํ•  ๊ฒƒ์ด๋‹ค Elasticsearch ์žฌ์ƒ‰์ธ์˜ฌ๋ฐ”๋ฅธ ๊ฐ’์„ ์–ป์œผ๋ ค๋ฉด project_id ์ด ๋ฒ„์ „์˜ GitLab์„ ์„ค์น˜ํ•œ ํ›„.

์˜ด๋‹ˆ๋ฒ„์Šค ๊ฐœ์„ 

์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹

GitLab 11.10์—์„œ๋Š” Omnibus๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.

  • GitLab 11.10์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ค‘์š”ํ•œ 5.9.0, ์˜คํ”ˆ ์†Œ์Šค Slack ๋Œ€์•ˆ, ์ตœ์‹  ๋ฆด๋ฆฌ์Šค์—๋Š” Hipchat ๋“ฑ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ํ†ตํ•ฉ ๋””๋ ‰ํ„ฐ๋ฆฌ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฒ„์ „์—๋Š” ๋‹ค์Œ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ๋ณด์•ˆ ์—…๋ฐ์ดํŠธ, ์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
  • ์šฐ๋ฆฌ Omnibus์™€ ํ†ตํ•ฉ๋œ Grafana, ์ด์ œ GitLab ์ธ์Šคํ„ด์Šค ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์‰ฝ๊ฒŒ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Docker ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์—์„œ ์ด์ „ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฏธ์ง€๋ฅผ ์‚ญ์ œํ•˜๊ธฐ ์œ„ํ•œ ์ง€์›์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ca-certs๋ฅผ 2019-01-23์œผ๋กœ ์—…๋ฐ์ดํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

์„ฑ๋Šฅ ๊ฐœ์„ 

์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹, ๋ฌด๋ฃŒ, ๋ธŒ๋ก ์ฆˆ, ์‹ค๋ฒ„, ๊ณจ๋“œ

์šฐ๋ฆฌ๋Š” ๋ชจ๋“  ๊ทœ๋ชจ์˜ GitLab ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•œ ๋ชจ๋“  ๋ฆด๋ฆฌ์Šค์—์„œ GitLab ์„ฑ๋Šฅ์„ ์ง€์†์ ์œผ๋กœ ๊ฐœ์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. GitLab 11.10์˜ ์ผ๋ถ€ ๊ฐœ์„  ์‚ฌํ•ญ:

ํ–ฅ์ƒ๋œ GitLab ์ฐจํŠธ

์ฝ”์–ด, ์Šคํƒ€ํ„ฐ, ํ”„๋ฆฌ๋ฏธ์—„, ์–ผํ‹ฐ๋ฐ‹

GitLab ์ฐจํŠธ๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ฐœ์„ ํ–ˆ์Šต๋‹ˆ๋‹ค.

์˜ค๋ž˜๋œ ๊ธฐ๋Šฅ

GitLab Geo๋Š” GitLab 12.0์—์„œ ํ•ด์‹œ๋œ ์ €์žฅ์†Œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

GitLab Geo๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ํ•ด์‹œ๋œ ์ €์žฅ์†Œ ๋ณด์กฐ ๋…ธ๋“œ์—์„œ์˜ ๊ฒฝ์Ÿ์„ ์™„ํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‹ค์Œ์—์„œ ์–ธ๊ธ‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. gitlab-ce#40970.

GitLab์—์„œ 11.5 ์šฐ๋ฆฌ๋Š” Geo ๋ฌธ์„œ์— ์ด ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. gitlab-ee#8053.

GitLab์—์„œ 11.6 sudo gitlab-rake gitlab:geo:check ํ•ด์‹œ๋œ ์ €์žฅ์†Œ๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ๊ณ  ๋ชจ๋“  ํ”„๋กœ์ ํŠธ๊ฐ€ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์„ผํ‹ฐ๋ฏธํ„ฐ. gitlab-ee#8289. Geo๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ด ํ™•์ธ์„ ์‹คํ–‰ํ•˜๊ณ  ๊ฐ€๋Šฅํ•œ ํ•œ ๋นจ๋ฆฌ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜์„ธ์š”.

GitLab์—์„œ 11.8 ์˜๊ตฌ ๋น„ํ™œ์„ฑํ™” ๊ฒฝ๊ณ  gitlab-ee!8433 ํŽ˜์ด์ง€์— ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค ๊ด€๋ฆฌ ์˜์—ญ > ์ง€์˜ค > ๋…ธ๋“œ, ์œ„์˜ ํ™•์ธ์ด ํ—ˆ์šฉ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ.

GitLab์—์„œ 12.0 Geo๋Š” ํ•ด์‹œ๋œ ์ €์žฅ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์„ผํ‹ฐ๋ฏธํ„ฐ. gitlab-ee#8690.

์‚ญ์ œ ๋‚ ์งœ: 22 2019 6 ์›”

์šฐ๋ถ„ํˆฌ 14.04 ์ง€์›

GitLab 11.10์€ ๋‹ค์Œ์ด ํฌํ•จ๋œ ๋งˆ์ง€๋ง‰ ๋ฆด๋ฆฌ์Šค๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์šฐ๋ถ„ํˆฌ 14.04 ์ง€์›.

Canonical์€ Ubuntu 14.04์— ๋Œ€ํ•œ ํ‘œ์ค€ ์ง€์› ์ข…๋ฃŒ๋ฅผ ๋ฐœํ‘œํ–ˆ์Šต๋‹ˆ๋‹ค. 2019 ๋…„ XNUMX ์›”. ์‚ฌ์šฉ์ž๋Š” ์ง€์›๋˜๋Š” LTS ๋ฒ„์ „์ธ Ubuntu 16.04 ๋˜๋Š” Ubuntu 18.04๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

์‚ญ์ œ ๋‚ ์งœ: 22 ์›” 2019 ๋„์‹œ

์ œ์ถœ๋‹น ์ƒ์„ฑ๋˜๋Š” ์ตœ๋Œ€ ํŒŒ์ดํ”„๋ผ์ธ ์ˆ˜ ์ œํ•œ

์ด์ „์— GitLab์€ ๋‹ค์Œ์„ ์œ„ํ•œ ํŒŒ์ดํ”„๋ผ์ธ์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. HEAD ์ œ์ถœ๋ฌผ์˜ ๊ฐ ๋ถ„๊ธฐ. ์ด๋Š” ์—ฌ๋Ÿฌ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ํ•œ ๋ฒˆ์— ํ‘ธ์‹œํ•˜๋Š” ๊ฐœ๋ฐœ์ž์—๊ฒŒ ํŽธ๋ฆฌํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: ๊ธฐ๋Šฅ ๋ธŒ๋žœ์น˜ ๋ฐ ๋ธŒ๋žœ์น˜). develop).

๊ทธ๋Ÿฌ๋‚˜ ํ™œ์„ฑ ๋ถ„๊ธฐ(์˜ˆ: ์ด๋™, ๋ฏธ๋Ÿฌ๋ง ๋˜๋Š” ๋ถ„๊ธฐ)๊ฐ€ ๋งŽ์€ ๋Œ€๊ทœ๋ชจ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋ฅผ ํ‘ธ์‹œํ•˜๋Š” ๊ฒฝ์šฐ ๊ฐ ๋ถ„๊ธฐ์— ๋Œ€ํ•œ ํŒŒ์ดํ”„๋ผ์ธ์„ ์ƒ์„ฑํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. GitLab 11.10๋ถ€ํ„ฐ ์šฐ๋ฆฌ๋Š” ๋งŒ๋“ค๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค ์ตœ๋Œ€ 4๊ฐœ์˜ ํŒŒ์ดํ”„๋ผ์ธ ๋ณด๋‚ผ ๋•Œ.

์‚ญ์ œ ๋‚ ์งœ: 22 ์›” 2019 ๋„์‹œ

์˜ค๋ž˜๋œ GitLab Runner ๋ ˆ๊ฑฐ์‹œ ์ฝ”๋“œ ๊ฒฝ๋กœ

Gitlab 11.9๋ถ€ํ„ฐ GitLab Runner๋Š” ๋‹ค์Œ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ• ์ €์žฅ์†Œ๋ฅผ ๋ณต์ œ/ํ˜ธ์ถœํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ GitLab Runner๋Š” ์ƒˆ๋กœ์šด ๋ฐฉ๋ฒ•์ด ์ง€์›๋˜์ง€ ์•Š์œผ๋ฉด ์ด์ „ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ์—์„œ ํ™•์ธํ•˜์„ธ์š”. ์ด ์ž‘์—….

GitLab 11.0์—์„œ๋Š” GitLab Runner์— ๋Œ€ํ•œ ๋ฉ”ํŠธ๋ฆญ ์„œ๋ฒ„ ๊ตฌ์„ฑ์˜ ๋ชจ์–‘์ด ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. metrics_server ์œ ๋ฆฌํ•˜๊ฒŒ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค listen_address GitLab 12.0์—์„œ. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ์—์„œ ํ™•์ธํ•˜์„ธ์š”. ์ด ์ž‘์—….

๋ฒ„์ „ 11.3์—์„œ๋Š” GitLab Runner๊ฐ€ ์ง€์›๋˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์บ์‹œ ๊ณต๊ธ‰์ž; ์ด๋กœ ์ธํ•ด ํŠน์ • S3 ๊ตฌ์„ฑ. ์— ์„ ์  ์„œ๋ฅ˜ ๋น„์น˜์—์„œ๋Š” ์ƒˆ ๊ตฌ์„ฑ์œผ๋กœ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ ๋ฐ ์ง€์นจ ํ‘œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ์—์„œ ํ™•์ธํ•˜์„ธ์š”. ์ด ์ž‘์—….

GitLab 12.0์—์„œ๋Š” ์ด๋Ÿฌํ•œ ๊ฒฝ๋กœ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๋Š” GitLab Runner 11.9์œผ๋กœ ์—…๊ทธ๋ ˆ์ด๋“œํ•  ๋•Œ GitLab ์ธ์Šคํ„ด์Šค๊ฐ€ ๋ฒ„์ „ 12.0 ์ด์ƒ์„ ์‹คํ–‰ํ•˜๋Š”์ง€ ํ™•์ธํ•˜๋Š” ๊ฒƒ ์™ธ์—๋Š” ์•„๋ฌด๊ฒƒ๋„ ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์‚ญ์ œ ๋‚ ์งœ: 22 2019 6 ์›”

GitLab Runner์˜ ์ง„์ž…์  ๊ธฐ๋Šฅ์— ๋Œ€ํ•œ ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜

11.4 GitLab Runner์—๋Š” ๊ธฐ๋Šฅ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค. FF_K8S_USE_ENTRYPOINT_OVER_COMMAND ๋“ฑ์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด #2338 ะธ #3536.

GitLab 12.0์—์„œ๋Š” ๊ธฐ๋Šฅ ์„ค์ •์ด ๋น„ํ™œ์„ฑํ™”๋œ ๊ฒƒ์ฒ˜๋Ÿผ ์˜ฌ๋ฐ”๋ฅธ ๋™์ž‘์œผ๋กœ ์ „ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ์—์„œ ํ™•์ธํ•˜์„ธ์š”. ์ด ์ž‘์—….

์‚ญ์ œ ๋‚ ์งœ: 22 2019 6 ์›”

GitLab Runner์˜ EOL์— ๋„๋‹ฌํ•˜๋Š” Linux ๋ฐฐํฌ์— ๋Œ€ํ•œ ์ง€์›์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

GitLab Runner๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ๋ถ€ Linux ๋ฐฐํฌํŒ์€ ํ•ด๋‹น ๋ชฉ์ ์„ ๋‹ฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.

GitLab 12.0์—์„œ๋Š” GitLab Runner๊ฐ€ ๋” ์ด์ƒ ์ด๋Ÿฌํ•œ Linux ๋ฐฐํฌํŒ์— ํŒจํ‚ค์ง€๋ฅผ ๋ฐฐํฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋” ์ด์ƒ ์ง€์›๋˜์ง€ ์•Š๋Š” ๋ฐฐํฌํŒ์˜ ์ „์ฒด ๋ชฉ๋ก์€ ๋‹ค์Œ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ ์  ์„œ๋ฅ˜ ๋น„์น˜. Javier Ardo์—๊ฒŒ ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค(ํ•˜๋น„์—๋ฅด ์ž๋ˆ) ๋’ค์— ๊ทธ์˜ ๊ณตํ—Œ!

์‚ญ์ œ ๋‚ ์งœ: 22 2019 6 ์›”

์ด์ „ GitLab Runner Helper ๋ช…๋ น ์ œ๊ฑฐ

์ง€์›ํ•˜๊ธฐ ์œ„ํ•œ ๋…ธ๋ ฅ์˜ ์ผํ™˜์œผ๋กœ Windows ๋„์ปค ์‹คํ–‰๊ธฐ ์‚ฌ์šฉ๋˜๋Š” ์ผ๋ถ€ ์ด์ „ ๋ช…๋ น์„ ํฌ๊ธฐํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋„์šฐ๋ฏธ ์ด๋ฏธ์ง€.

GitLab 12.0์—์„œ๋Š” GitLab Runner๊ฐ€ ์ƒˆ๋กœ์šด ๋ช…๋ น์„ ์‚ฌ์šฉํ•˜์—ฌ ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋‹ค์Œ ์‚ฌ์šฉ์ž์—๊ฒŒ๋งŒ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋„์šฐ๋ฏธ ์ด๋ฏธ์ง€ ์žฌ์ •์˜. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ์—์„œ ํ™•์ธํ•˜์„ธ์š”. ์ด ์ž‘์—….

์‚ญ์ œ ๋‚ ์งœ: 22 2019 6 ์›”

GitLab Runner์—์„œ ๋ ˆ๊ฑฐ์‹œ git clean ๋ฉ”์ปค๋‹ˆ์ฆ˜ ์ œ๊ฑฐ

GitLab ๋Ÿฌ๋„ˆ 11.10์—์„œ ์šฐ๋ฆฌ๋Š” ๊ธฐํšŒ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค Runner๊ฐ€ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ• ๊ตฌ์„ฑ git clean. ๋˜ํ•œ ์ƒˆ๋กœ์šด ์ •๋ฆฌ ์ „๋žต์€ ์‚ฌ์šฉ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. git reset ๊ทธ๋ฆฌ๊ณ  ๋ช…๋ น์„ ๋‚ด๋ฆฐ๋‹ค. git clean ์–ธ๋กœ๋“œ ๋‹จ๊ณ„ ์ดํ›„.

์ด ๋™์ž‘ ๋ณ€๊ฒฝ์€ ์ผ๋ถ€ ์‚ฌ์šฉ์ž์—๊ฒŒ ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ค€๋น„ํ–ˆ์Šต๋‹ˆ๋‹ค. FF_USE_LEGACY_GIT_CLEAN_STRATEGY. ๊ฐ’์„ ์„ค์ •ํ•˜๋ฉด true, ๋ ˆ๊ฑฐ์‹œ ์ •๋ฆฌ ์ „๋žต์„ ๋ณต์›ํ•ฉ๋‹ˆ๋‹ค. GitLab Runner์—์„œ ํ•จ์ˆ˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ์‚ฌ์šฉ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌธ์„œ์—์„œ.

GitLab Runner 12.0์—์„œ๋Š” ๋ ˆ๊ฑฐ์‹œ ์ •๋ฆฌ ์ „๋žต์— ๋Œ€ํ•œ ์ง€์›๊ณผ ํ•จ์ˆ˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ด๋ฅผ ๋ณต์›ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ์—์„œ ํ™•์ธํ•˜์„ธ์š”. ์ด ์ž‘์—….

์‚ญ์ œ ๋‚ ์งœ: 22 2019 6 ์›”

๊ด€๋ฆฌ์ž ํŒจ๋„์˜ ์‹œ์Šคํ…œ ์ •๋ณด ์„น์…˜

GitLab์€ GitLab ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๋‹ค์Œ ์œ„์น˜์— ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค. admin/system_info, ๊ทธ๋Ÿฌ๋‚˜ ์ด ์ •๋ณด๋Š” ์ •ํ™•ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ ์ด ์„น์…˜ ์‚ญ์ œ GitLab 12.0์˜ ๊ด€๋ฆฌ์ž ํŒจ๋„์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๊ธฐํƒ€ ๋ชจ๋‹ˆํ„ฐ๋ง ์˜ต์…˜.

์‚ญ์ œ ๋‚ ์งœ: 22 2019 6 ์›”

๋ณ€๊ฒฝ ๋กœ๊ทธ

๋ณ€๊ฒฝ ๋กœ๊ทธ์—์„œ ๋‹ค์Œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ๋ชจ๋‘ ์ฐพ์•„๋ณด์„ธ์š”.

์„ค์น˜

์ƒˆ๋กœ์šด GitLab ์„ค์น˜๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ์„ ๋ฐฉ๋ฌธํ•˜์„ธ์š”. GitLab ๋‹ค์šด๋กœ๋“œ ํŽ˜์ด์ง€.

์—…๋ฐ์ดํŠธ

์ฒดํฌ์•„์›ƒ ์—…๋ฐ์ดํŠธ ํŽ˜์ด์ง€.

GitLab ๊ตฌ๋… ๊ณ„ํš

GitLab์€ ๋‘ ๊ฐ€์ง€ ํ˜•ํƒœ๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์ž์น˜ ะธ ํด๋ผ์šฐ๋“œ SaaS.

์ž์น˜: ์˜จํ”„๋ ˆ๋ฏธ์Šค ๋˜๋Š” ์„ ํ˜ธํ•˜๋Š” ํด๋ผ์šฐ๋“œ ํ”Œ๋žซํผ.

  • ํ•ต์‹ฌ: ์†Œ๊ทœ๋ชจ ํŒ€, ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ ๋˜๋Š” ๊ธฐ๊ฐ„ ์ œํ•œ ์—†๋Š” GitLab ํ‰๊ฐ€ํŒ์šฉ์ž…๋‹ˆ๋‹ค.
  • ์ž…๋ฌธ: ์ „๋ฌธ์ ์ธ ์ง€์›์ด ํ•„์š”ํ•œ ์—ฌ๋Ÿฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๋™์ผํ•œ ์‚ฌ๋ฌด์‹ค์—์„œ ์ž‘์—…ํ•˜๋Š” ํŒ€์„ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ํ”„๋ฆฌ๋ฏธ์—„: ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ, ๊ณ ๊ฐ€์šฉ์„ฑ ๋ฐ ์—ฐ์ค‘๋ฌดํœด ์ง€์›์ด ํ•„์š”ํ•œ ๋ถ„์‚ฐ๋œ ํŒ€์„ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ๊ถ๊ทน์˜: ํ–ฅ์ƒ๋œ ๋ณด์•ˆ ๋ฐ ๊ทœ์ • ์ค€์ˆ˜์™€ ํ•จ๊ป˜ ๊ฐ•๋ ฅํ•œ ์ „๋žต๊ณผ ์‹คํ–‰์ด ํ•„์š”ํ•œ ๋น„์ฆˆ๋‹ˆ์Šค์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.

ํด๋ผ์šฐ๋“œ SaaS - GitLab.com: GitLab์—์„œ ํ˜ธ์ŠคํŒ…, ๊ด€๋ฆฌ ๋ฐ ๊ด€๋ฆฌ ๋ฌด๋ฃŒ ๋ฐ ์œ ๋ฃŒ ๊ตฌ๋… ๊ฐœ์ธ ๊ฐœ๋ฐœ์ž์™€ ํŒ€์„ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  • ๋ฌด๋ฃŒ: ๋ฌด์ œํ•œ ๊ฐœ์ธ ์ €์žฅ์†Œ ๋ฐ ๋ฌด์ œํ•œ ํ”„๋กœ์ ํŠธ ๊ธฐ์—ฌ์ž. ๋‹ซํžŒ ํ”„๋กœ์ ํŠธ๋Š” ๋ ˆ๋ฒจ ๊ธฐ๋Šฅ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฌด๋ฃŒ, y ์—ด๋ฆฐ ํ”„๋กœ์ ํŠธ ๋ ˆ๋ฒจ ๊ธฐ๋Šฅ์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค ๋ดํƒˆ.
  • ๋ธŒ๋ก ์ฆˆ: ๊ณ ๊ธ‰ ์›Œํฌํ”Œ๋กœ ๊ธฐ๋Šฅ์— ์•ก์„ธ์Šคํ•ด์•ผ ํ•˜๋Š” ํŒ€์„ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ์€: ๋ณด๋‹ค ๊ฐ•๋ ฅํ•œ DevOps ๊ธฐ๋Šฅ, ๊ทœ์ • ์ค€์ˆ˜ ๋ฐ ๋ณด๋‹ค ๋น ๋ฅธ ์ง€์›์ด ํ•„์š”ํ•œ ํŒ€์„ ์œ„ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ๋ดํƒˆ: ๋‹ค์–‘ํ•œ CI/CD ์ž‘์—…์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค. ์—ด๋ ค ์žˆ๋Š” ๋ชจ๋“  ํ”„๋กœ์ ํŠธ๋Š” ์š”๊ธˆ์ œ์— ๊ด€๊ณ„์—†์ด Gold ๊ธฐ๋Šฅ์„ ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€